Quartz.Net使用总结
1、Quartz區(qū)分NET3.5和NET4.0版本,故新建項目的時候,引用的DLL一定要匹配net freamwork的正確版本。
2、Quartz.dll 依賴于Common.Logging.dll 故也需要將這個DLL程序集引用到項目中。
?
以下是本人學(xué)習(xí)Quartz.net的DEMO:http://files.cnblogs.com/zfanlong1314/IBO.XJMYQP.WindowsServices.zip
說明:
IBO.XJMYQP.JobServices 為Topshelf方式。
IBO.XJMYQP.WindowsServices 為windows 服務(wù)方法。
?
3、Quartz.Net中設(shè)置的時間觸發(fā)比需要的時間長,引起的重復(fù)觸發(fā)。(舉個栗子,比如每間隔一秒觸發(fā)執(zhí)行一個方法,而執(zhí)行方法需要10秒鐘)
Quartz定時任務(wù)默認(rèn)都是并發(fā)執(zhí)行的,不會等待上一次任務(wù)執(zhí)行完畢,只要間隔時間到就會執(zhí)行, 如果定時任執(zhí)行太長,會長時間占用資源,導(dǎo)致其它任務(wù)堵塞。
解決辦法:
給你的Job類加上[DisallowConcurrentExecution]標(biāo)記
[DisallowConcurrentExecution][PersistJobDataAfterExecution()]public class SyncGasBottlesJob : IJob {}
需要做一個簡易的Cron字符串生成器,并且要獲取生成的Cron后面10次的觸發(fā)時間來驗證。
http://www.cnblogs.com/luhuanong/p/4555246.html
總結(jié)
以上是生活随笔為你收集整理的Quartz.Net使用总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。