PCS開発チーム
PCS開発チーム
php artisan queue:workコマンドの一般的な使い方と簡易的な使い方
一般的な使い方
VPSやAWS EC2などの普通のサーバーの場合はSupervisorなどを使ってqueue:work
コマンドをデーモンとして常時稼働し続ける。
php artisan queue:work
デプロイ時の再起動などを考慮する必要があるので実際に使うのは結構手間。
Supervisorで自動的に再起動するように設定した上でデプロイ時にはqueue:restart
コマンドで終了。
簡易的な使い方
Supervisorが使えない場合の簡単な方法はタスクスケジュールでqueue:work --once
コマンドを定期的に実行。
php artisan queue:work --once
--once
を付けると一つのジョブだけ実行してすぐ終了するのでタスクスケジュールでも実行できる。
ただしタスクスケジュールの頻度でしか実行されないので一般的な使い方より遅い。
https://laracasts.com/discuss/channels/laravel/schedule-artisan-command-doesnt-execute-command
この辺もいずれは「Laravel Cloud使えばいい」と回答することになりそう。
上級編1
ベテラン勢はそもそもqueue:work
を使わずLaravel Horizonを使う。
Forgeならqueue:work
でもHorizonでも簡単に導入できる。
上級編2
Laravel Vaporのキューはここまでのどれでもない使い方。