人気のPHP WEBアプリケーションフレームワークLaravelのTipsを記録していきます

Laravel バックグランドの非同期処理を行う

● Laravel でキューを使ってバックグランドの非同期処理を行う

1. テーブル作成

php artisan queue:table
php artisan queue:failed-table
php artisan migrate

2 .envファイルに追加

QUEUE_DRIVER=database # キュードライバを DB にする

3 .ジョブ(実際に行いたい処理)を作成

PDF ファイルに透かしを入れるジョブを作成してみます

php artisan make:job CreatePdfWaterMark

/app/Jobs/CreatePdfWaterMark.php に実際のロジックを記述します

4.Jobの起動方法

1. キューワーカの実行

php artisan queue:work

常駐キューワーカの実行

nohup php artisan queue:work --daemon &

または

nohup php artisan queue:work --daemon > /dev/null 2>&1 &

nohup php artisan queue:work --daemon > ./storage/logs/laravel.log &

常駐キューワーカーの削除

ps -ef |grep artisan

次のようにプロセス番号が分かるのでプロセス番号からkillします

username 20423 17965  0 12:01 pts/0    00:00:00 php artisan queue:work --daemon
kill 20423
No.1836
08/14 12:05

edit