Skip to content
Tech News
← Back to articles

Solid Queue 1.6.0 now supports fiber workers

read original more articles
Why This Matters

The addition of fiber support in Solid Queue 1.6.0 marks a significant advancement for handling I/O-bound workloads, especially in applications involving large language model calls. This feature enables more efficient concurrency management by reducing thread overhead, which can lead to improved performance and scalability for developers and businesses relying on background job processing.

Key Takeaways

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

@crmne made their first contribution in #728

... continue reading