有時,當我通過一個大型數據集發送給Job時,隊列工作者突然退出。Laravel隊列「遇難」
// $taskmetas is an array with other arrays, each subsequent array having 90 properties.
$this->dispatch(new ProcessExcelData($excel_data, $taskmetas, $iteration, $storage_path));
的ProcessExcelData
作業類創建使用box/spout軟件包的Excel文件。
-
在第一例子
- 有880行 - 在第二個例子
$taskmetas
工作正常 - 有10,000行 - 出口突然
$taskmetas
1例 - 用小輸出隊列數據集:
[email protected]:~/myapp.com$ php artisan queue:work --tries=1
[2017-08-07 02:44:48] Processing: App\Jobs\ProcessExcelData
[2017-08-07 02:44:48] Processed: App\Jobs\ProcessExcelData
第二個示例 - 一個大的數據集輸出隊列:
[email protected]:~/myapp.com$ php artisan queue:work --tries=1
[2017-08-07 03:18:47] Processing: App\Jobs\ProcessExcelData
Killed
我沒有得到任何錯誤消息,日誌是空的,且作業不會在failed_jobs
表與其他錯誤出現。時間限制設置爲1小時,內存限制爲2GB。
爲什麼我的隊列突然退出?
提到你有沒有設法解決這個問題,我們將強制覆蓋超時? –
@DaveCarruthers nope – PeterInvincible