Provides an asynchronous job server.
Please see the project documentation for more details.
-
Getting Started - This guide gives you an overview of the
async-job
gem and explains the core concepts. -
Inline Queue - This guide explains how to use the Inline queue to execute background jobs.
-
Aggregate Queue - This guide explains how to use the Aggregate queue to reduce input latency and improve the performance of your application.
Please see the project releases for all releases.
- Add release notes and modernize code.
- Add external tests.
- Improve test formatting and modernize code.
- Achieve 100% test coverage.
- Achieve 100% documentation coverage.
- Add agent context.
- Breaking Change: Extract redis support into separate gem.
- Remove block argument from job processing as it's no longer particularly useful.
- Add documentation.
- Revert
fail
->retry
behavior.
- Minor improvements.
- Breaking Change: Reorganize processor code and add delayed processor.
- Breaking Change: Rename
queue
->processor
andpipeline
->queue
. - Breaking Change: Rename pipeline producer/consumer -> client/server.
- Breaking Change: Rename
Backend
->Queue
. - Add generic backend implementation.
- Fix some words and reduce logging.
- Add
#start
/#stop
methods.
- Minor improvements to aggregate backend.
- Ensure aggregate buffer shuts down gracefully (#4).
- Add aggregation backend.
- Add documentation regarding aggregate backend.
- Prefer
before do
... in tests.
- Add support for delegate pass-through.
- Modernize gem.
- Add client and server example (#3).
- Fix gem name in guide.
- Add benchmark example.
- Add support for
Async::Idler
. - Add link to
async-job-adapter-active_job
.
- async-job-processor-redis - Redis processor for
async-job
(similar to Sidekiq). - async-job-adapter-active_job - ActiveJob adapter for
async-job
.
We welcome contributions to this project.
- Fork it.
- Create your feature branch (
git checkout -b my-new-feature
). - Commit your changes (
git commit -am 'Add some feature'
). - Push to the branch (
git push origin my-new-feature
). - Create new Pull Request.
In order to protect users of this project, we require all contributors to comply with the Developer Certificate of Origin. This ensures that all contributions are properly licensed and attributed.
This project is best served by a collaborative and respectful environment. Treat each other professionally, respect differing viewpoints, and engage constructively. Harassment, discrimination, or harmful behavior is not tolerated. Communicate clearly, listen actively, and support one another. If any issues arise, please inform the project maintainers.