在我正在開展的項目中,用戶可以訂閱課程。課程的持續時間是可變的,以周計算(如此4,5或6周)。他們可以在任何時候訂閱,因此每個用戶的開始日期不同。選擇用戶發送每週更新
現在我想在每週的開始時向用戶發送一封個性化的電子郵件(所以當他們進入第2周,第3周等時)。該電子郵件每週都有所不同。
我知道我必須定期編寫一個任務和時間表,但我不知道應該如何選擇正確的用戶。我可以編寫一個SQL命令,選擇開始日期爲7,14,21或28天前的所有用戶,並計算他們所在的星期,但似乎很容易出錯(如果任務失敗,那麼他們將不會在下一個任務週期中收到消息)。
什麼是最好的方法來實現這一目標?
該項目是C#中的ASP.NET MVC應用程序,在IIS上使用NHibernate。
「如果任務失敗,那麼他們將不會在下一個任務循環中收到消息」如果您想自動恢復,那麼您應該選擇在過去28天內啓動的所有用戶,即使它不完全是7 ,然後登錄一個單獨的表格「在Y日發送用戶電子郵件X」,然後檢查是否有未完成的電子郵件發送。或者製作該手冊:發送任何失敗的管理員警報,然後介入並在當天進行修復。 – Rup 2012-01-11 15:56:59