Dead Simple Queue is a minimal, file-based task queue microservice written in Go. It accepts tasks via an HTTP API, processes them asynchronously using a worker, and logs them to disk. It comes with Docker support, unit tests, and CI/CD integration using GitHub Actions.
- 📅 Task enqueueing via HTTP API
- 🧠 Background worker for task processing
- 📃 Logs all tasks to a persistent
tasks.logfile - 🧪 Simple unit test coverage
- 🛣️ Docker support
- ⚙️ GitHub Actions CI/CD pipelines
POST /enqueue
Content-Type: application/json
{
"id": 1,
"payload": "hello world"
}The worker processes and logs the task automatically after the request.
- Go 1.20+
- Git
- Docker (optional)
go run main.goThe server listens on port 8080 and starts the background worker.
go test ./...All tests are located in the tests/ directory.
docker build -t dead-simple-queue .
docker run -p 8080:8080 dead-simple-queueCI/CD is handled via GitHub Actions:
ci.ymlruns unit tests on every pushcd.ymlbuilds the Docker image on push tomain
dead-simple-queue/
├── api/ # HTTP API logic
├── queue/ # Task definition and worker
├── storage/ # File output logic
├── tests/ # Unit tests
├── .github/workflows
├── Dockerfile
├── go.mod
├── main.go
└── README.md
MIT License
(c) 2025, Osman Aslan