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 install
Usage
🔁 Automatic Job Retries
Add this to an initializer:
SolidQueue.before_perform do |job|
SolidQueuePlus::RetryMiddleware.new.call(job) do
job.perform_now
end
end
Customize retry logic in RetryMiddleware
.
🛑 Failure Notifications
Set your Slack webhook URL:
export SOLID_QUEUE_SLACK_WEBHOOK=https://hooks.slack.com/services/your/webhook/url
Edit 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.