1. config フォルダー内のキューの構成を次のように変更します。 リーリー
2. キューテーブルを作成します
php職人キュー:テーブル3. キュータスククラスを作成しますphp職人移行
php職人のmake:jobコレクションブック4. タスクをキューにプッシュします
リーリー
5. バックグラウンドモニタリング
php 職人キュー:work --queue=collectionbook --daemon --sleep=3 --tries=3プッシュタスクを実行するためのページ
キューが同期的に実行されており、キュータスクテーブルに書き込まれていないことがわかりました。これを解決するにはどうすればよいですか?
php 職人キュー:work --queue=collectionbook --daemon --sleep=3 --tries=3データベース内のキュータスクが消費されます
この時点でps職人を確認すると、プロセスが次のようになっていることがわかります:
root 2287 2144 9 18:30 pts/0 00:00:02 php 職人キュー:ワーク --queue=collectionbook --daemon --sleep=3 --tries=3しかし、SSHクライアントを切断すると、プロセスが消えていることがわかりました
このとき、スーパーバイザを使用してプロセスを監視しました
リーリー
結果はモニタリングです
laravel-worker-collectionbook 実行中 pid 2271、稼働時間 0:00:02ps 職人はプロセスを次のように表示します:
root 2300 2144 9 18:30 pts/0 00:00:02 php /home/wwwroot/kshuba/artisan queue:work --queue=collectionbook --daemon --sleep=3 --tries=3問題は、クエリデータベース内のキュータスクが消費されていないことです
さらに、サーバーのルートディレクトリで実行すると
php /home/wwwroot/kshuba/artisan queue:work --queue=collectionbook --daemon --sleep=3 --tries=3キュータスクも消費できません
スーパーバイザーのコマンドを次のように変更してみてください:
php 職人キュー:仕事 --queue=collectionbook --sleep=3 --tries=3 --daemonスーパーバイザーのステータスで次のメッセージが表示されることがわかります: BACKOFF 終了が早すぎます (プロセス ログに詳細が含まれている可能性があります)
監視を開始できません。
.env は設定されていますか?