Skip to content

sukendhar/solid_queue_plus

Repository files navigation

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published