我正在使用延迟作业来处理Active Record gem https://github.com/collectiveidea/delayed_job。 我正在尝试设置一个工作,以在应用程序中发生事件后的五分钟内运行。 五分钟过后,我需要进行一些数据库更新。 我已经尝试了rake jobs:work和RAILS_ENV=development script/delayed_job start。 在此之前,我已经运行了bundle install、rails generate delayed_job:active_record和rake db:migrate。 我有一个彩票网站,需要每五分钟检查获胜者并更新获胜玩家的代币。
我等待了五分钟,但本地应用程序没有进行任何更新。
这是我目前的进展:
Gem文件:
gem 'delayed_job_active_record'
gem "daemons"
工作(位于lib目录)
class WinnersJob < Struct.new(:blast_id)
def perform
...
end
控制器
require 'winners'
Delayed::Job.enqueue(WinnersJob.new(blast.id), 1, 5.minutes.from_now)
end
bundle exec rake jobs:workoff
命令以处理待处理的作业并退出。 - Roman