hibiken/asynq ? reverse-engineered prompt
Reverse engineered prompt
Build me a Go library for a reliable background task queue backed by Redis.
I want to be able to create tasks in my app, put them on a queue, and have separate workers process them later in the background. It should support retries for failed jobs, scheduling tasks for later, recurring tasks, task timeouts and deadlines, and deduping so the same task does not get queued twice by accident. It should also handle worker crashes safely and keep processing with multiple workers across different machines.
Please include a simple client for enqueueing tasks, a server for running workers, and a way to write task handlers with middleware support. I’d also like tools to inspect queues, pause and resume processing, and see basic queue health and metrics. If it makes sense, add a small web UI and a command line tool for viewing and managing tasks. Use current Go and Redis best practices, and look up any current docs online if you need to.
Are you gonna build this?
make sure you review the code using coderabbit