2016-10-30 101 views
1

有沒有辦法從Laravel的作業ID中獲得排隊的作業?在將作業添加到隊列中時,我存儲了作業ID。稍後在某個時間點(處理隊列中的作業存在延遲),我想從隊列中刪除作業。如果我可以使用作業ID在隊列中獲得作業,則可以使用delete()方法將其刪除。如何從Laravel的作業ID中獲取排隊作業?

回答

0

這是一個隊列,所以你不能選擇它,但是如果你也在隊列外記錄數據,你可以看看隊列:: before(){}添加到AppServiceProvider.php來檢查存儲的ID或當他們脫離隊列並在處理之前參考作業。

我也在這個領域工作,所以如果我找出這個代碼,並會發布它,如果我這樣做。正如你在before()中返回一個事件一樣,所以你必須打開它並讓Job去檢查。

2

我用laravel 5.5這段代碼:

use Illuminate\Contracts\Bus\Dispatcher; 

$job = (new JOB_CLASS())->onQueue('QUEUE_NAME')->delay('DELAY'); 
$id = app(Dispatcher::class)->dispatch($job); 
+0

這是唯一的途徑伴侶嗎? –

+1

@SantoshAchari老實說,我找不到任何其他解決方案,我認爲這是最簡單的方法。 – Armin

相關問題