我想用Laravel設置一個IronMq隊列,並且我已經將它工作了,但重點在於行爲不是所期望的。我期待IronMq等待一個作業完成後($ job-> delete())推送一個新作品,但是我發現它在前一個作業完成之前推送消息。Laravel IronMq隊列不需要的並行執行
Route::post('queue/send' ,function()
{
...
Queue::push(function($job) use ($data)
{
...
$job->delete();
}
return true;
}
有沒有人發現,以防止平行行爲並使其連續方式:
的代碼結構如下?
非常感謝!
我想輪詢隊列或使用Iron Worker是要走的路,但我無法理解隊列系統如何不能一次只有一個進程。 重試是不是一個解決方案,因爲該流程得到了很好的處理,但有一些併發問題。 謝謝你的回答! –
與延遲作業或應用內排隊系統不同,推送隊列不知道作業何時在服務器端完成。這兩個是獨立的系統。 – Yaron