Hello! My name is Jay, and I’m here to solve the problem of managing long-running jobs. I’ve started with a message queue that scratches my own itch. Here’s what it does:
**SQS-compatible.** I wanted the queue to be available in all languages, so I made it compatible with the SQS API. I was frustrated that the most interesting solutions, such as Sidekiq, were language specific. This means that any library that uses SQS, such as Celery, has access to these features as well.
**Scheduling.** Most queues don’t let you control when and how tasks are distributed to workers. SmoothMQ lets you schedule tasks for any time in the future.
**Rate Limiting.** You can set rate limits across all workers at runtime - I was frustrated that I kept hitting API limits.
**Error-Handling.** Set retries, rate limits, and dead-letter queues. SmoothMQ emits detailed logs and Prometheus metrics. You can even examine specific messages to see their status.
On the tech side, it is open source, written in go, and deploys as a single binary or Docker image. It requires no other dependencies.
Really excited for you to try it out - I’d love your feedback! In fact, you can try it in a personalized demo environment:
https://demo.smoothmq.com/?src=ph
Docs: https://docs.smoothmq.com
GitHub: https://github.com/poundifdef/sm...
Show HN: https://news.ycombinator.com/ite...
Hotswap