大規模なデータセットをJobに送信するときに、キューワーカーが突然終了します。Laravel queues gets "killed"
// $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ファイルを作成します。第一の例では
$taskmetas
が880行を持っている - 突然
第一例終了 - - 第二例$taskmetas
に細かい
[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