在may rails应用程序中我想使用延迟的工作。我安装了延迟工作如下。
宝石文件中的
gem 'delayed_job_active_record', '0.4.3'
然后在控制台
rails generate delayed_job:active_record
rake db:create
它在数据库中创建了delayed_jobs表。
我开始了
rake jobs:work
然后我在控制器中添加了以下代码:
Task.handle_asynchronously :in_the_future, :run_at => Proc.new { 5.minutes.from_now }
此处任务是型号名称。
在模型task.rb中我写了
def in_the_future
self.update_attiributes(:status=> "updated")
end
运行控制器方法后,它不会在delayed_jobs表中创建任何记录。如果我做错了,请纠正我。
答案 0 :(得分:4)
您可以将控制器代码更改为
Task.delay(:run_at => Proc.new { 5.minutes.from_now }).in_the_future