If you ever had to direct Devise email notifications to be send asynchronously you know it’s usualy a process that involves some degree of monkey patching.
This week I got tired of repeating this app after app and decided to create a small gem to solve the issue.
I just released devise-async. It lets you easily setup devise to use a proxy mailer that is capable of sending devise’s emails via your preferred queueing backend. It currently supports Resque (default), Sidekiq and Delayed::Job.
To use it you just need to tell devise to use
Devise::Async::Proxy as its mailer class.
If you use Sidekiq or Delayed::Job you also need to let DeviseAsync knows your taste in config/initializers/devise_async.rb. Don’t botter if you use Resque since it’s the default backend.
1 2 3
Check out the README for more details.
UPDATE: updated classes for new version