delayed_job 是用来做某些可以延后的,对时间要求不高的任务,例如: 发送1W个邮件,处理10W个数据,不能在规定的时间内(例如1秒)立即执行完的任务。


1、gem 'delayed_job_active_record'

  gem 'daemons'


2、bundle install


3、rails g delayed_job:active_record


4、rake db:migrate


5、新窗口启动命令:rake jobs:work

   注意:production环境下启动:RAILS_ENV=production rails r  script/delayed_job start

                                            重启:RAILS_ENV=production rails r script/delayed_job restart


6、在model中编写异步任务的方法


7、调用异步任务:Model.delay.method(params)




详细使用方法参见:http://blog.csdn.net/yangxing_star/article/details/8722969