This is a big one! Solid Queue finally supports job batches thanks to @jpcamara. Check the README for more details about how to use these. This took ages despite being a very requested feature 😅 Big thanks to @jpcamara for his patience, refinements and production-app tests!
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:
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.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps solid_queue from 1.4.0 to 1.7.0.
Release notes
Sourced from solid_queue's releases.
... (truncated)
Commits
e2b5384Bump solid_queue to 1.7.05352228Reset pooled connections when flipping the batches schema in tests112bb1cRefine batch support after a full review1bcac83Add batch supportfcb5f7aName the supervisor's stop checkpoint and simplify its lifecycle124176aHonour TERM received during supervisor boot before forking workers174cb07Protect the shutdown reap from release failures too0526401Replace terminated forks even if releasing their claimed jobs fails6816e52Include the error in fail_many_claimed events and document recoveryfc5fb59Wait longer for the supervisor to fail the killed worker's jobDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)