https://github.com/ku1ik/merb-resque-mailer
Merb plugin for putting mail delivery jobs onto Resque queue
https://github.com/ku1ik/merb-resque-mailer
Last synced: 3 months ago
JSON representation
Merb plugin for putting mail delivery jobs onto Resque queue
- Host: GitHub
- URL: https://github.com/ku1ik/merb-resque-mailer
- Owner: ku1ik
- Created: 2010-01-10T15:24:22.000Z (over 15 years ago)
- Default Branch: master
- Last Pushed: 2010-01-22T20:45:14.000Z (over 15 years ago)
- Last Synced: 2025-01-20T04:17:56.402Z (5 months ago)
- Language: Ruby
- Homepage: http://ku1ik.com/
- Size: 78.1 KB
- Stars: 4
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Merb Resque Mailer
==================Plugin for Merb which allows putting mail deliveries onto [Resque](http://github.com/defunkt/resque) queue.
Usage
-----Include Resque::Mailer module in your Merb::MailController subclass(es) like this:
class UserMailer < Merb::MailController
include Resque::Mailer
...
endor directly in Merb::MailController class if you want to enable it for all mailers:
class Merb::MailController
include Resque::Mailer
...
endJobs are added to "mailer" queue so you should start at least one worker listening on "mailer" queue:
QUEUE=mailer rake merb_env resque:work
Be sure you have 'resque/tasks' required in your Rakefile (or somewhere in lib/tasks/), it's required for above task to work.
From now on all emails will be sent asynchronously using Resque worker(s).
Installation
------------Gem is hosted on gemcutter.org, simply install it by:
gem install merb-resque-mailer
and require it in your app:
require "merb-resque-mailer"
If using bundler add it to Gemfile:
gem "merb-resque-mailer"
Configuration
-------------You can configure for which environments you don't want to use Merb Resque Mailer by setting Resque::Mailer.excluded_environments option (by default :test env is excluded). If you want to exclude also :development env put following code somewhere in config/init.rb:
Resque::Mailer.excluded_environments = [:test, :development]or
Resque::Mailer.excluded_environments << :development
If you want to put deliveries to other queue than default "mailer" you can set it like this:
Resque::Mailer.queue_name = "notifications"
Credits
-------This piece of code was inspired by work of [Nick Plante](http://github.com/zapnap) who created [resque_mailer](http://github.com/zapnap/resque_mailer) for Rails' ActionMailer. Rewritten to work with Merb Mailer by [Marcin Kulik](http://github.com/sickill).