Laravel(私がv5.6を使用しているレコードの場合)には、バックグラウンド処理のためにメールをキューに入れるオプションがあります。
ユーザーに毎日メールアラートを送信するようにスケジュールされたジョブがあります。現在、ジョブはLaravelデータベースキューにメール(mailables)をドロップします。メールの送信にはMailgunドライバーを使用します。
私の質問は、Mailgunがドキュメントに従って配信用の電子メールを自動的にキューに入れることです( https://documentation.mailgun.com/en/latest/user_manual.html#message-queue )
Laravelキューを使用してこれらの電子メールをキューに入れ、キューワーカーが別のキュー(Mailgunキュー)に送信するためだけにそれらを処理するようにしても、メリットはありますか?
これらの電子メールを送信するための正しいプロセスについて、ガイダンスやアドバイスをいただければ幸いです。
pdate:元々、この回答をあなたの側のキューを推奨するように書いていましたが、この他のキューもネットワーク内のサーバー上にあると思っていました。 Mailgunは、あなたが制御できない(私はそれらを使用したことも聞いたこともない)電子メールプロバイダーであるように見え、それに応じて私の回答を書き直しました。
外部サービスとやり取りする場合は、組織が直接制御することはできません。別のキューに電子メールを追加するためのキューを用意することは良い考えです。
Mailgunはダウンする可能性があります。速度が低下する可能性があります。サーバーとサーバーの間のネットワークが遅くなったり不安定になったりする可能性があります。または、サーバーとMailgunの間の他の都市の建設作業員がバックホーで少し不注意になり、光ファイバーケーブルを掘り起こした場合は完全に使用できなくなります。
この失敗のリスクがあるため、独自のキューを保持することを強くお勧めします。これにより、問題が発生した場合にこの外部サービスプロバイダーでの操作を再試行でき、それらの問題がWebアプリケーションにリークするのを防ぎます。