windows 服务实现定时任务调度
生活随笔
收集整理的這篇文章主要介紹了
windows 服务实现定时任务调度
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Quartz是OpenSymphony開源組織在Job scheduling領域又一個開源項目,它可以與c#應用程序相結合也可以單獨使用。Quartz可以用來創建簡單或為運行十個,百個,甚至是好幾萬個Jobs這樣復雜的程序。Jobs可以做成標準的c#組件。Quartz的最新版本為Quartz 2.3.2。
Quartz是一個完全由java編寫的開源作業調度框架。不要讓作業調度這個術語嚇著你。盡管Quartz框架整合了許多額外功能, 但就其簡易形式看,你會發現它易用得簡直讓人受不了!簡單地創建一個實現org.quartz.Job接口的java類。Job接口包含唯一的方法:
public?void?execute(JobExecutionContext?context) throws?JobExecutionException;在你的Job接口實現類里面,添加一些邏輯到execute()方法。一旦你配置好Job實現類并設定好調度時間表,Quartz將密切注意剩余時間。當調度程序確定該是通知你的作業的時候,Quartz框架將調用你Job實現類(作業類)上的execute()方法并允許做它該做的事情。無需報告任何東西給調度器或調用任何特定的東西。僅僅執行任務和結束任務即可。如果配置你的作業在隨后再次被調用,Quartz框架將在恰當的時間再次調用它。
public?partial?class?Service1?:?ServiceBase{public?Service1(){InitializeComponent();}protected?override?void?OnStart(string[]?args){//todo:這里是服務啟動所執行的代碼}protected?override?void?OnStop(){//todo:這里是服務停止所執行的代碼}} private?void?StartDoSomething(){System.Timers.Timer?timer?=?new?System.Timers.Timer(10000);?//間隔10秒timer.AutoReset?=?true;timer.Enabled?=?false;??//執行一次timer.Elapsed?+=?new?ElapsedEventHandler(ExecutionCode);timer.Start();}private?void?ExecutionCode(object?source,?System.Timers.ElapsedEventArgs?e){string?dtNow?=?DateTime.Now.ToString("HH:mm");if?(dtNow?==?"12:00"){File.WriteAllText("D:/ExecutionService.txt",?"服務執行了一次任務",?Encoding.UTF8);}} ??????protected?override?void?OnStart(string[]?args){StartDoSomething();}???以上就可以算是一個簡單的定時執行任務的windows服務。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的windows 服务实现定时任务调度的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: gRPC四种模式、认证和授权实战演示
- 下一篇: 为啥 .NET 自带的 JsonSeri