我正在使用resque来处理一些后台作业(比如cron作业)。所以我解雇了这两个佣金任务:
$> rake resque:工作
$> rake resque:scheduler
我的问题是如何找到工作人员和调度程序正在运行?对于工人我可以使用
Resque::Worker.all
列出所有正在运行的工作人员。它工作正常。但我一直无法找到如何查找调度程序是否运行(或列出所有预定作业)。我尝试了Resque::Scheduler.print_schedule
,但是即使我已经运行了rake resque:scheduler
答案 0 :(得分:2)
您需要的方法是
Resque.get_schedules
它显示当前计划作业及其相关元数据的哈希值。
{
"job1"=> {
"every"=>"30s",
"class"=>"JobClass",
"args"=>[1],
"queue"=>"default",
"description"=> "Testing..."
}
}
如果您没有动态添加任何作业,即您没有使用resque-scheduler的动态设置
Resque::Scheduler.dynamic = true
然后
Resque.schedule
会给你相同的结果。
答案 1 :(得分:0)
我也在寻找列出所有预定的工作......
Resque.count_all_scheduled_jobs
仅显示数字。
我在
中尝试了几种方法Resque.metaclass.instance_methods-Class.methods
但没有运气。必须进入他们的Github源