私は、リマインダーを自分に送信するように設定し、リマインダーの時間を設定し、時間になるとメールが送信されるリマインダー タイプのサイトに取り組んでいます。
ただし、リマインダーは重要ではなく、約 5 ~ 10 分の遅延は許容されます。
2 つのオプションがあります。
1) 毎分 cron スクリプトを実行します。スクリプトは、 CURTIME() にスケジュールされたイベントが db にあるかどうかをチェックします (つまり、cron が 5:35:30 に実行される場合、5:35:00 に設定されたリマインダーをチェックします)。見つからない場合は終了します。見つかった場合は、メールを送信します。
2) または、10 分ごとに Cron スクリプトを実行できます。このスクリプトは、現在から 10 分前までの間にスケジュールされたリマインダーがあるかどうかを確認します。たとえば、cron が 5:35:30 に実行された場合、5:25:00 から 5:35:00 までのリマインダーをチェックします。見つかった場合は送信し、見つからない場合は終了します。
2番目の方法で私が抱えている唯一の問題は、これによってリマインダーが送信されないことがないかどうか確信が持てないことです.
たとえば、サーバーの負荷が高くなり、5:35:00 にスケジュールされた Cron が代わりに 5:37:00 に実行されたとします。その場合、5:35:00 にスケジュールされた電子メールが失われる可能性があります。
どの方法を使用する必要がありますか?