2

我正在使用 resque 来处理一些后台作业(如 cron 作业)。所以我启动了这两个 rake 任务:
$> rake resque:work
$> rake resque:scheduler

我的问题是如何找到工作程序和调度程序正在运行?对于我可以使用的工人

Resque::Worker.all列出所有正在运行的工作人员。它工作正常。但是我无法找到如何找到调度程序是否正在运行(或列出所有已调度的作业)。我试过Resque::Scheduler.print_schedule了,但它不打印时间表并且即使我已经运行也总是返回 epmty 哈希rake resque:scheduler

4

2 回答 2

1

你需要的方法是

Resque.get_schedules 

它显示当前计划作业及其相关元数据的哈希值。

 {
    "job1"=> {
       "every"=>"30s",
       "class"=>"JobClass",
       "args"=>[1],
       "queue"=>"default",
       "description"=> "Testing..."
    }
}

如果您没有动态添加任何作业,即您没有使用 resque-scheduler 的动态设置

Resque::Scheduler.dynamic = true

然后

Resque.schedule

会给你同样的结果。

于 2013-06-14T21:22:51.810 回答
0

我也在搜索列出所有预定的工作......

Resque.count_all_scheduled_jobs

这仅显示数字。

我尝试了几种方法

Resque.metaclass.instance_methods-Class.methods

但没有运气。必须进入他们的 Github 源

于 2013-05-30T12:48:59.313 回答