SolidQueue Plus
SolidQueue Plus is a Ruby gem that extends the functionality of Rails 8's Solid Queue system with:
- ✅ Retry middleware with exponential backoff
- 📣 Slack or Email failure notifications
- 📊 Lightweight Rails engine dashboard for job monitoring
Installation
Add this line to your application's Gemfile:
gem 'solid_queue_plus', github: 'sukendhar/solid_queue_plus'Then run:
bundle installUsage
🔁 Automatic Job Retries
Add this to an initializer:
SolidQueue.before_perform do |job|
SolidQueuePlus::RetryMiddleware.new.call(job) do
job.perform_now
end
endCustomize retry logic in RetryMiddleware.
🛑 Failure Notifications
Set your Slack webhook URL:
export SOLID_QUEUE_SLACK_WEBHOOK=https://hooks.slack.com/services/your/webhook/urlEdit SolidQueuePlus::Notifier to integrate with:
- Slack (
slack-notifier) - Email (via ActionMailer, optional)
📊 Monitoring Dashboard
Mount the dashboard in config/routes.rb:
mount SolidQueuePlus::Engine => "/solid_queue_plus"Then open http://localhost:3000/solid_queue_plus to view live job status.
Roadmap
- Add Hotwire interactivity to dashboard
- Add filters and retry actions to dashboard UI
- Built-in authentication support
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/sukendhar/solid_queue_plus.
License
The gem is available as open source under the terms of the MIT License.