問題タブ [laravel-queue]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
11718 参照

laravel - cronを使用したLaravelキューワーカー

誰かが新規登録するたびに確認メールを送信するように自分のウェブサイトを取得しようとしています。

私はそれについて読んだ後、次のようにしましたが、これが最善の方法であるとはまだ確信していません.

私のcronでは毎分実行され、呼び出しますphp artisan schedule:run

私のコンソール/カーネルで

--once パラメーターを追加しました。これは、終了時にキュー ワーカーが存在しないためであり、毎分多くの新しいプロセスを実行したくないためです。

キュー ワーカーにすべてのジョブを終了させて​​終了させ、1 分後に再び開始させて、多くのインスタンスを持たないようにする方法はありますか、それともインスタンスが 1 つだけですか??

ワーカーを終了するために null を返すことができると読みましたが、これができる場合、最後のジョブが完了した後にのみ null を返すにはどうすればよいですか?

0 投票する
0 に答える
681 参照

php - Laravel Mail::queue は毎分しか機能しません

1時間ごとに実行したいスケジュールされたジョブがあります。このジョブは、購読を解除しておらず、メールを送信していないユーザーを選択し、送信するメールをキューに入れるだけです。これはすべて Amazon ElasticBeanstalk のワーカー環境で行われ、その部分に関してはすべてが機能しています。

ジョブは 1 時間ごとに実行され、電子メールはキューに入れられます。ただし、キューに入れられると、処理中のままになり、実際に電子メールが送信されることはありません。

スケジュールされたジョブを毎分実行するように変更すると、すべてが正常に機能し、電子メールが送信されますが、何らかの理由でそれぞれ 2 回送信されます。

ワーカーインスタンスのlaravel.logファイルには何もないため、ここで何を調べればよいかわかりません。また、スケジュールされたコマンドからの出力用にセットアップしたログ ファイルにも何も書き込まれません。

これは、コマンドを実行するための私のコードです。

これは実行中のコマンドのコードです

キューに追加された各ジョブは、failed_jobs データベース テーブルに格納され、最大試行回数に達したことが示されます。なぜこれが起こるのかについて何か考えはありますか?