2013-03-21 36 views
2

我正在使用resque處理一些後臺作業(如cron作業)。所以,我火了這兩個耙任務:
$>耙resque:工作
$>耙resque:調度在resque中查找計劃 - ruby​​

我的問題是如何找到工作人員和調度運行?我可以使用

Resque::Worker.all列出所有正在運行的工作人員。它工作正常。但我一直無法找到如何查找調度程序是否運行(或列出所有調度的作業)。我想Resque::Scheduler.print_schedule但不打印時間表,總是返回,即使我已經運行rake resque:scheduler

回答

0

我也搜索列出所有預定作業epmty散...

Resque.count_all_scheduled_jobs 

此只顯示號碼。

我嘗試了一些方法在

Resque.metaclass.instance_methods-Class.methods 

,但沒有運氣。必須進入相應Github源

2

你需要的方法是

Resque.get_schedules 

它顯示當前的計劃作業的哈希值及其相關的元數據。

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

如果沒有動態地添加任何作業,即不使用resque調度的動態設置

Resque::Scheduler.dynamic = true 

然後

Resque.schedule 

會給你同樣的結果。