(Rails3.2.11)
Installation
Gemfile
gem 'delayed_job_active_record'
shell
bundle install rails generate delayed_job:active_record rake db:migrate
確認用メーラー作成
rails g user_mailer send_mail
config/environments/development.rb
一応設定
config.action_mailer.default_url_options = { :host => 'localhost:3000' } config.action_mailer.delivery_method = :test
Running Jobs
rake jobs:work
止める時は
CTRL-C
もしくは
rake jobs:workoff
試してみる
ちなみに、メーラーに『delay』をつける時は『deliver』を取る (collectiveidea/delayed_job · GitHub )
- 普通にメールする時
- UserMailer.send_mail.deliver
- delay する時
- UserMailer.delay.send_mail
rails console
UserMailer.delay.send_mail
時間差で動作させたい時にこんな書き方もある
UserMailer.delay({:run_at => 1.minutes.from_now}).send_mail