2015-06-10 66 views
1

我想要做這樣的事情在我的火法:Laravel 4.2隊列 - 強制作業失敗

class MyClass{ 
    public function fire($job) { 
     if(something) { 
      $job->fail(); 
     }else { 
     //processing 
     } 
     $job->delete(); 
} 

有沒有這樣的方法失敗(),是有可能做這樣的事情?

回答

2

有沒有這樣的事情不能工作,但你可以做什麼:

  1. 釋放它回到隊列

    $job->release(); 
    

嘗試它將定義的次數後最終出現在失敗的作業表中。

  1. 拋出異常。這份工作將自行發回隊列。

  2. 如果你使用beanstalkd作爲隊列驅動,你可以埋葬工作

    $job->bury(); 
    
  3. 如果你的條件是不可恢復的,你可以登錄這一事實,並簡單地刪除該作業。