一般問題MVC5延遲事件
從我的後端代碼我想要觸發事件,將某處等待大約30分鐘,然後運行一些代碼。
鑑於在MVC中產生線程或任務是一個糟糕的主意(因爲池可能會被殺死,並且你不知道事情是否會起作用)。做這個的最好方式是什麼?
我的選項,我看到他們是:
- 從代碼創建一個線程或任務.. 壞主意如上所述。
- 在每30分鐘致電一次服務的服務器上創建一個計劃任務(batch/powershell),該服務根據需要進行電子郵件發送。 這對我來說是凌亂的,因爲我現在要依靠這個任務工作
- 在SQL服務器上創建一個SSIS包,使其與計劃任務幾乎完全相同,但可能更可靠。 可能是最可靠的解決方案,也是###之一中最痛苦的。。
你們會做什麼?
現實世界的例子
用戶 「A」,寫在網站上發表評論。用戶「B」和「C」在彼此的5分鐘內都發表評論。我想發送一封電子郵件給用戶「A」關於來自「B」和「C」的新評論,但我不希望他爲每個評論都收到1封電子郵件。可能有成百上千個電子郵件各有1條評論。
所以在我的情況下,我想觸發一個甚至等待30分鐘,然後將所有新評論分組到一個通知電子郵件。