https://github.com/mrinalxdev/jobqueue
A simple job queue for system design practise
https://github.com/mrinalxdev/jobqueue
Last synced: 8 months ago
JSON representation
A simple job queue for system design practise
- Host: GitHub
- URL: https://github.com/mrinalxdev/jobqueue
- Owner: mrinalxdev
- Created: 2025-06-10T07:34:07.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-06-16T08:34:18.000Z (8 months ago)
- Last Synced: 2025-06-16T09:52:13.821Z (8 months ago)
- Language: Go
- Size: 3.71 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# JobQueue
My main task for this project was not to use redis instead replicate few functionalities
A Redis-free background **job queue system** written in Go with support for:
- ✅ Multiple priority queues (High, Low)
- ✅ Background workers
- ✅ Job retries + dead-letter queue
- ✅ Delayed job scheduling
- ✅ Dynamic CLI to enqueue and manage jobs
## Features
| Feature | Description |
|----------------------|----------------------------------------------------|
| Priority Queues | High / Low priority job queues |
| Worker Pool | Workers poll queues concurrently |
| Delayed Scheduling | Supports scheduled jobs (simulates Redis ZSET) |
| Retry & DLQ | Retry with exponential backoff, move to DLQ on fail |
| CLI Support | Enqueue, schedule, and start workers from CLI |