0

スケジュールされたメッセージ、電子メール、およびその他のものを計画するための最良の方法を知りたい. たとえば、Web アプリケーションに予定がリストされている場合、アプリケーションが予定の前と予定の時間にユーザーに電子メールを送信するようにします。ユーザープールが大きいため、一度に 1000 通のメールを送信できます。

それを達成するための最良の方法を提案してください。また、スケジュールされたタスクを投稿できるサービス (有料/無料のサードパーティ) があり、それが作業を行う必要があるかどうかを提案してください。

ありがとう

4

1 に答える 1

0

これを「そこに」実行するサービスは知りませんが、開発している場合の最善の方法は、10分ごとなど、タイマーで実行されるWindowsサービスを作成することです。

SQL クエリによって、次の 15 分または 30 分以内に予定されているデータベースから読み取ります。データが返されたら、おそらくこれらのレコードのそれぞれに対してタイマーを作成し、その予定のタイマー ティック イベントを介して適切なタイミングで起動するように設定します。タイマーが作動したら、スレッドプールでメールを送信するだけで、メールのバッチを送信するときにメインスレッドが停止またはブロックされるのを回避し、サービスの応答性を少し高めることができます。

ASP.NETでこの「自動化」を行うことはできません。Windowsサービスは、タスクを実行するための定期的な間隔がある場合にまさにこの目的のためのものです。この場合、一定期間の予定/スケジュールのリストを取得してからメールを送る。

電子メールが送信されたら、そのレコードを更新して、次のタイマー イベントで再び取得されないようにして、電子メールが重複して送信されないようにする必要があります。データベース内のレコードのフィールドに「SentReminder」などのフラグが設定されています。

これがそれを行う方法であり、最良の方法です。

于 2013-11-15T07:04:38.697 に答える