The Wire · Showcase
Solid Queue ships batches, Marcel slashes detection reads 10x
By RepoJournal · Filed · About Rails
Solid Queue finally delivers the job-batch feature you've been waiting for, while Marcel undoes a detection-cost regression that made every JPEG probe 10x slower.
Solid Queue v1.7.0 lands with full batch support [1], bringing Sidekiq Pro and GoodJob-style coordination to Rails' queue: batches track completion and fire on_finish, on_success, or on_failure callbacks, with logical job counting that treats retries as one job [2]. Production-app tested and refined after review, this is the upgrade for anyone orchestrating multi-job workflows [3]. Meanwhile, Marcel restored its common-type magic fast path [4], cutting JPEG detection from 255 reads back to 25 and PNG from 256 to 26, after a CR2 fix had inadvertently pushed every common type behind Tika's 121 higher-ranked matchers [5]. In rails/rails, a fix for lazy-loaded routes adds a method_missing pair to MountedHelpers so calling main_app or an engine helper before routes draw no longer raises NoMethodError [6], and ActiveRecord's StatementCache gets a fix for async execution with out-of-range bind values [7]. The website drops workshops from the FAQ [8] and posts this week's Rails summary [9]. Across 4 repos: 17 commits, 7 PRs, 1 release.
One email a day. Unsubscribe in one click.
Keep up with Rails in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Upgrade solid_queue to v1.7.0 to use batches in production rails/solid_queue [immediate]
- → Pull the Marcel fast-path fix to restore pre-regression detection performance rails/marcel [plan]
- → Review the lazy mounted-helper fix for apps that call helpers before route load rails/rails [monitor]
References
- [1] v1.7.0 - batches ↗ rails/solid_queue
- [2] Refine batch support after a full review rails/solid_queue
- [3] Batch Support ↗ rails/solid_queue
- [4] Restore the common-type magic fast path without preempting subtype matchers ↗ rails/marcel
- [5] Restore the common-type magic fast path without preempting subtype matchers rails/marcel
- [6] Load routes lazily when a mounted helper is called ↗ rails/rails
- [7] Fix async `ActiveRecord::StatementCache` execution with out-of-range bind values rails/rails
- [8] Update faq.yml rails/website
- [9] This week in Rails (Friday, August 21, 2026) (#726) rails/website