日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET MVC 使用 FluentScheduler 定时器计划任务

發布時間:2024/9/20 asp.net 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET MVC 使用 FluentScheduler 定时器计划任务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MacBook Pro 只有四個 USB Type-C 接口是否錯了?

一項新技術的誕生總會對已存在的事物造成沖擊或影響,如果大家都害怕沖擊與影響,那這個世界永遠像現在不變就行了,大家都好好的,待在自己的舒適區,社會絲毫沒有創新與進步而言。

其實, USB Type-C 接口協議在三年前幾個科技巨頭公司就參與制定了協議,并答應要在自家的產品上推廣它,但誰都怕一下子在自家產品上升級 USB Type-C 接口被消費者罵出翔進而影響產品銷量,這時候,蘋果公司跳出來了干了這件事,在去年的 MacBook 升級中就已經把 USB Type-A 取消了,好像大家也并沒用過多抵觸,可能是使用的人少的原因,但是就在剛剛發布的 MacBook Pro 中取消了全部接口,僅僅只有四個 USB Type-C 了,然后大家都莫名高潮了,說「什么蘋果智障!不考慮消費者!出門要帶一堆轉接頭!!蘋果就是為了賺配件的錢!!新款手機連接不是新款電腦!!我要去買老款的 MacBook Pro !!!庫克是個同性戀!!!蘋果吃棗藥丸!!!」。

好吧,你們贏了。

如果你作為消費者來仔細想想,當然你本來就是消費者,可以正反隨便插、想怎么插怎么插,晚上也不用開燈就能插,速度而且快的驚人,這個口用處多的數不清,想怎么用怎么用,你現在會怎么想?反正現在好多 Android 手機已經是 USB Type-C 了。

FluentScheduler 是什么?

Automated job scheduler with fluent interface.

這是作者在 Github 上的介紹,就是一個定時任務管理器。在 .Net 下類似的有微軟的 Timer 、 Quartz.NET 、 FluentScheduler 以及Windows服務等,關于 Quartz.NET 的使用幾乎和 Java 下的 Quartz 沒什么區別,我之前寫過一篇?Spring 使用 Quartz 任務調度定時器?是關于 Quartz 的。

定時任務或者說作業調度,可能也只有在你指定一個時間做統計、發郵件或者一些你想完成的業務邏輯時有用,這也是它出現的目的。

如何使用 FluentScheduler ?

我是推薦你去作者的 Github 去看看源碼或例子,地址:?https://github.com/fluentscheduler/FluentScheduler
當然,這里我用作者的例子做了演示和翻譯,保證誰都能看的懂。

一、安裝FluentScheduler程序包
打開程序包管理控制臺,輸入Install-Package FluentScheduler即可。步驟:狀態欄選擇?工具 - 庫程序包管理器 - 程序包管理控制臺,如下圖:

輸入Install-Package FluentScheduler。

二、寫代碼
我這里只簡單貼一下作者的示例代碼,更推薦你去 Github 看,但我隨手翻譯了一下,或許更容易閱讀一些。

public class Demo : Registry {public Demo() { // Schedule an IJob to run at an interval // 立即執行每兩秒一次的計劃任務。(指定一個時間間隔運行,根據自己需求,可以是秒、分、時、天、月、年等。) Schedule<MyJob>().ToRunNow().AndEvery(2).Seconds(); // Schedule an IJob to run once, delayed by a specific time interval // 延遲一個指定時間間隔執行一次計劃任務。(當然,這個間隔依然可以是秒、分、時、天、月、年等。) Schedule<MyJob>().ToRunOnceIn(5).Seconds(); // Schedule a simple job to run at a specific time // 在一個指定時間執行計劃任務(最常用。這里是在每天的下午 1:10 分執行) Schedule(() => Trace.WriteLine("It's 1:10 PM now.")).ToRunEvery(1).Days().At(13, 10); Schedule(() => { // 做你想做的事兒。 Trace.WriteLine("It's 1:10 PM now."); }).ToRunEvery(1).Days().At(13, 10); // Schedule a more complex action to run immediately and on an monthly interval // 立即執行一個在每月的星期一 3:00 的計劃任務(可以看出來這個一個比較復雜點的時間,它意思是它也能做到!) Schedule<MyComplexJob>().ToRunNow().AndEvery(1).Months().OnTheFirst(DayOfWeek.Monday).At(3, 0); // Schedule multiple jobs to be run in a single schedule // 在同一個計劃中執行兩個(多個)任務 Schedule<MyJob>().AndThen<MyOtherJob>().ToRunNow().AndEvery(5).Minutes(); } } public class MyJob : IJob { void IJob.Execute() { Trace.WriteLine("現在時間是:"+DateTime.Now); } } public class MyOtherJob : IJob { void IJob.Execute() { Trace.WriteLine("這是另一個 Job ,現在時間是:" + DateTime.Now); } } public class MyComplexJob : IJob { void IJob.Execute() { Trace.WriteLine("這是比較復雜的 Job ,現在時間是:" + DateTime.Now); } }

三、初始化
在Global.asax中加入一句

JobManager.Initialize(new Demo());

上面是簡單的使用,其實已經足夠了,當然還有更多變態的需求,作者也在文檔里寫了,比如這個:你想執行一個計劃任務,每周一 14:00 運行。但現在是星期一上午 10:00 ,那你的程序應該在今天運行還是在下周星期一?這里用到了?ToRunEvery。
還有并發任務的處理,有興趣可以去看看。

總結一下

FluentScheduler 是 .Net 下,可以讓你輕松實現定時任務的工具,不需要再去寫Windows服務了,更重要的是時間設置起來靈活很多,定時任務難點不就是在這么。

總結

以上是生活随笔為你收集整理的ASP.NET MVC 使用 FluentScheduler 定时器计划任务的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。