.net任務調度框架FluentScheduler簡介
之前我在文章中介紹過.net中的任務調度框架Hangfire,HangFire雖然本身輸入比較簡單好用的,但是,如果我們的程序本身提供的服務不是任務調度,而任務調度隻是裡面並不重要的小功能的時候,用HangFire顯得有點過重瞭,這裡本文就介紹一個簡單好用的任務調度框架FluentScheduler。
比起Hangfire來,FluentScheduler相對就簡單得多,它隻是提供瞭一個類庫,提供任務調度的基本功能,沒有像hangfire的數據庫,web服務的依賴,功能變少,也更加簡單瞭。非常適用於任務調度功能的集成。
它使用也比較簡單,一個簡單的示例如下:
static void Main(string[] args) { JobManager.Initialize(new MyRegistry()); Console.ReadLine(); } public class MyRegistry : Registry { public MyRegistry() { // Schedule an IJob to run at an interval // 立即執行每10秒一次的計劃任務。(指定一個時間間隔運行,根據自己需求,可以是秒、分、時、天、月、年等。) Schedule(() => Console.WriteLine(DateTime.Now)) .ToRunNow().AndEvery(10).Seconds(); // 立即執行每10秒一次的計劃任務。如果本次任務沒有結束,下一次的任務則不會開始,禁止並行運行 Schedule(() => Console.WriteLine(DateTime.Now)) .NonReentrant() .ToRunNow().AndEvery(10).Seconds(); //在每天的21:15執行計劃任務 Schedule(() => Console.WriteLine("It's 9:15 PM now.")) .ToRunEvery(1).Days().At(21, 15); // 立即執行一個在每月的第一個星期一 3:00 的計劃任務 Schedule(() => Console.WriteLine("It's 3:00 AM now.")) .ToRunNow().AndEvery(1).Months().OnTheFirst(DayOfWeek.Monday).At(3, 0); //在每周一的21:15執行計劃任務 Schedule(() => Console.WriteLine("It's 9:15 PM now.")) .ToRunEvery(1).Weeks().On(DayOfWeek.Monday).At(21, 15); } }
基本的功能還是都有的,沒有依賴項,也適用於各種.net框架,非常好用。
到此這篇關於.net任務調度框架FluentScheduler的文章就介紹到這瞭。希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。
推薦閱讀:
- .net任務調度框架Hangfire簡介
- Python最好的日期處理庫pendulum的使用指南
- C#實現動態數字時鐘和日歷
- Python 時間操作datetime詳情(下)
- Pandas數據分析固定時間點和時間差