マルチテナントサイトがあります。私のクライアントの中には、あちこちで1通のメールを送信するものもあれば、一度に1,000通を送信するものもあります。
メールサーバーとしてSendGrid.comを使用し、PHPコードとしてSwiftMailer.orgを使用しています。
問題は、各メールの送信に1秒ほどかかることです。認証などのためにSendGrid.comに接続する必要があると思います。したがって、1,000通の電子メールを送信すると、本質的には約1,000秒でタイムアウトになります。
私が考える最善の方法は、電子メールをデータベースに保存してから、cronジョブがそれらを送信することです。
それが最も効果的な方法でしょうか?また、一度に特定の量の電子メールのみを送信する必要がありますか?たとえば、cronジョブごとに100ですか?
私がcronジョブのテーマに取り組んでいる間、cronジョブは重複して実行できますか?したがって、毎分cronジョブを実行し、ページがすべての電子メールを送信するのに2分かかった場合、cronジョブは1分後に再度実行されますか、それとも最後のcronジョブが処理されるまで2分待機しますか?
ご協力いただきありがとうございます!
ベン