我不明白为什么我的 rake 任务没有在 resque 工作人员中运行。跑步
rake :send_this_email
从控制台工作正常,我只想将它作为 cron 作业运行(如下所示),但是在从工作人员内部调用 rake 任务时,有些东西无法正常工作。
我的rescue_schedule.yml
send_this_email:
cron: "*/2 * * * *"
class: SendThisEmailWorker
args:
description: "Send email when condition defined in rake task is met"
我send_this_email_worker.rb
的 inworkers
目录,如果我可以从控制台自己手动调用 rake 任务,问题一定出在哪里?
require 'rake'
module SendThisEmailWorker
@queue = :send_this_email
def self.perform
Rake::Task["send_this_email"].invoke
end
end
当我启动我的开发服务器时,这个send_this_email
rake 任务应该每 2 分钟运行一次,对吗?不是,resque 管理面板将其显示为队列中的作业。我在这里想念什么?
感谢您的关注。
从 gerep 评论更新
require 'rake'
module SendThisEmailWorker
@queue = :send_this_email
def self.perform
puts "Hi from the console, I'm started"
Rake::Task["send_this_email"].invoke
end
end