Skip to content

v1.6.0 - fiber execution mode (with Async)

Latest

Choose a tag to compare

@rosa rosa released this 31 Jul 11:59

A long-awaited feature thanks to @crmne on this release: instead of using a thread pool to run jobs in multiple threads per works, you can now use fibers on a single fiber reactor thread. To use this, you just need to specify the number of fibers instead of the number of threads in your worker configuration, like this:

workers:
  - queues: "api*"
    fibers: 100
    polling_interval: 0.05

It uses Async under the hood, so you need to have that as a dependency for it to work. Also, you need to be using fiber isolation in Rails (config.active_support.isolation_level`` = :fiber).

This can be very useful for I/O-bound workloads, such as those involving LLM calls.

What's Changed

  • Add fiber worker execution mode by @crmne in #728
  • Roll back transactions leaked by killed job threads in tests by @rosa in #773
  • Document how to update dynamic recurring tasks by @wintan1418 in #777

New Contributors

Full Changelog: v1.5.1...v1.6.0