Sending email can be a bottleneck in your Rails app. Here's a dead simple way of making all your mail be delivered asynchronously.
With the plugin installed, all mail send from Mailer gets put into a table called QueuedMails. Here's my migration to add that table:
class AddQueuedMailTable < ActiveRecord::Migration
def self.up
create_table :queued_mails do |t|
t.column :object, :text
t.column :mailer, :string
end
end
def self.down
drop_table :queued_mails
end
endNow everytime you call
YouMailer.deliver_something(*params)that mail object will be stored in the QueuedMails table. Just periodically call script/runner from a cron job to process your new mail queue:
"script/runner 'MailQueue.process' -e production"If you want to bypass the queue just called the deliver_method_name with an exclamation point at the end. Like:
YouMailer.deliver_something!(*params)WARNING:
This feature to bypass the queue isn't the same way it was done in the original release of this plugin, so it isn't backwards compatible. Not a huge thing to change, and it probably wasn't a very popular thing used by people using this plugin anyways.
Open Hub computes statistics on FOSS projects by examining source code and commit history in source code management systems. This project has no code locations, and so Open Hub cannot perform this analysis
Is this project's source code hosted in a publicly available repository? Do you know the URL? If you do, click the button below and tell us so that Open Hub can generate statistics! It's fast and easy - try it and see!
Open Hub computes statistics on FOSS projects by examining source code and commit history in source code management systems. This project has no code locations, and so Open Hub cannot perform this analysis
Is this project's source code hosted in a publicly available repository? Do you know the URL? If you do, click the button below and tell us so that Open Hub can generate statistics! It's fast and easy - try it and see!
This site uses cookies to give you the best possible experience.
By using the site, you consent to our use of cookies.
For more information, please see our
Privacy Policy