2012-02-10 50 views

回答

1

我查看了hirefire源後發現了這個解決方案。我的情況是,在工作隊列中有一個鎖定的工作。正因爲如此,delayed_job.working結果是1而不是0.另外,由於鎖定的工作,delayed_job.jobs也是1.因此沒有工人被僱用。我清除了隊列中的所有工作,然後僱傭工作就像一個魅力。

def hirefire_hire 
     delayed_job = ::Delayed::Job.new 
     if delayed_job.working == 0 \ 
     or delayed_job.jobs == 1 
     environment.hire 
     end 
    end 

我認爲應該修改此檢查以檢查未鎖定或類似性質的作業數量。

相關問題