Jobkiq is a lightweight background job processing library with tag-based concurrency control.
- Parallel processing: Multiple workers can process jobs concurrently.
- Ordered execution: Jobs are executed in order based on their creation timestamp.
- Tag-based concurrency: Each specified tag is processed by only one worker at a time.
- Efficient idle behavior: Workers consume no CPU when there are no jobs to process.
Run worker:
exe/jobkiq worker --q optional_queueEnqueue job:
exe/jobkiq perform_async TestJob tag1 tag2 --q optional_queueRun workers:
docker compose up --scale worker=5Enqueue job:
docker compose exec worker ruby exe/jobkiq perform_async TestJob tag1 tag2Bug reports and pull requests are welcome on GitHub.
The gem is available as open source under the terms of the MIT License.