私が取り組んでいるプロジェクトでは、ユーザーはコースに登録することができます。コースの期間は可変で、週単位で計算されます(4,5,6週間)。任意の瞬間に購読できますので、開始日はユーザーごとに異なります。週間更新を送信するユーザーを選択してください
今週は、毎週の初めにパーソナライズされたメールを送信したいと思っています。電子メールは毎週異なります。
私はタスクを作成し、定期的にスケジュールする必要があることは知っていますが、正しいユーザーをどのように選択すべきかはわかりません。私はSQLコマンドを書いて、開始日が7,14,21、または28日前のすべてのユーザーを選択し、それらが何週目かを計算することができますが、これはかなりエラーが発生するようです(タスクが失敗した場合彼らは次のタスクサイクルでメッセージを受信しません)。
これを達成するにはどうすればよいでしょうか?
このプロジェクトは、IIS上でNHibernateを使用しているC#のASP.NET MVCアプリケーションです。
「タスクが失敗した場合は、次のタスクサイクルでメッセージを受信しません」自動的に回復する場合は、正確には7でなくても過去28日間に開始したすべてのユーザーを選択する必要があります別のテーブル「ユーザEのメールXを日付Yに送信」にログインし、未送信のEメールがあるかどうかを確認します。または、マニュアルを作成してください。何らかの障害が発生した場合に管理者にアラートを送信し、その日に入り、修正してください。 – Rup