[英]Scheduled tasks in one application (.Net C#)
我有一個訂閱數據庫,我想每x分鍾為每個訂閱運行一次。
但是每個訂閱都有自己的時間和時間+每x分鍾應運行的功能。
它可以是同時運行的多個訂閱。
也許它應該看起來像一個計划任務,該任務從一個特定時間開始,每x分鍾運行到一個特定時間。
我希望我描述自己想做的正確的事,我的英語不是最好的。
有誰知道我如何構建應用程序來做到這一點?
我建議您為此使用System.Threading.Timer
。 要安排工作,請執行以下操作:
new Timer(_ => DoTheJob()).Change(your_interval_in_milliseconds, Timeout.Infinite);
然后在完成工作后,使用相同的代碼安排下一次運行。 這樣可以防止同時運行同一作業的2個實例。 如果那不能正確回答您的問題,請告訴我。
您可能正在描述Quartz.NET可以為您做什么。 檢查一下,可能值得花一些時間。
因此,您應該編寫某種調度程序。 它將從隊列中取出任務並執行它們...您可以以一種方式創建調度程序,例如,每個任務都將在單獨的線程中運行,這將顯着提高性能!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.