oban-bg/oban ? reverse-engineered prompt
Reverse engineered prompt
Build me an Elixir job queue library for background work that uses the database as the source of truth, so jobs are reliable, observable, and never just disappear if a process crashes.
I want to be able to define workers, enqueue jobs right away or schedule them for later, run different queues with their own concurrency, and keep job history around for inspection and metrics instead of deleting everything after it runs. It should support retries with backoff, unique jobs so duplicates can be avoided, and the ability to pause, resume, stop, or scale queues while the app is running.
Make it work with PostgreSQL, MySQL, and SQLite3 if possible, and wire in telemetry so job events can be monitored or logged. Please include a simple getting started setup, a sample worker, and a clean way to configure queues in an app. If you need to, look up the current docs online and follow the project’s existing style.
Are you gonna build this?
make sure you review the code using coderabbit