Quartz.NET总结(四)Quartz 远程调度
轉(zhuǎn)載自:http://www.cnblogs.com/zhangweizhong/p/5552558.html
前面篇已經(jīng)介紹了Quartz.NET的配置,使用和Cron表達(dá)式表達(dá)式的寫法。基本上后臺的定時任務(wù)的定時執(zhí)行已經(jīng)完成,并能正確的按照執(zhí)行計劃,執(zhí)行相關(guān)的job 。
然后,如果任務(wù)需要更新,停止某個任務(wù)呢 ? 總不能上服務(wù)器去改相關(guān)job 的配置吧。 所以,Quartz.NET 也給我們提供了遠(yuǎn)程調(diào)度的方法。這次就簡單介紹下Quartz.NET 遠(yuǎn)程調(diào)度的配置和方法。
1. 配置Quartz.NET 遠(yuǎn)程方式執(zhí)行
計劃任務(wù)的服務(wù)器上配置遠(yuǎn)程調(diào)用Quartz的出口, quartz.config 增加如下配置即可
#export this server to remoting contextquartz.scheduler.exporter.type = Quartz.Simpl.RemotingSchedulerExporter, Quartzquartz.scheduler.exporter.port = 555quartz.scheduler.exporter.bindName = QuartzSchedulerquartz.scheduler.exporter.channelType = tcpquartz.scheduler.exporter.channelName = httpQuartz 幾點(diǎn)說明:
1. 客戶端的"quartz.scheduler.proxy.address" 配置的地址由服務(wù)器上配置的channelType,port和 bindName 等組成。注意保持一致。
2. 服務(wù)器初始化啟動時,從數(shù)據(jù)庫啟動相關(guān)Job 的過程這里不細(xì)說。下次介紹我自己做的任務(wù)調(diào)度平臺的時候,再細(xì)說。
3. Job 服務(wù)器上,其實(shí)就算一個服務(wù)宿主,在后臺控制調(diào)度全部的job 執(zhí)行計劃。
2. 管理客戶端
a) 創(chuàng)建一個后臺管理的客戶端,可以是web網(wǎng)站。也可以是別的。
初始化遠(yuǎn)程服務(wù)器上的全部Scheduler
b) 增加,暫停,刪除任務(wù)等操作
/// <summary>/// 暫停任務(wù)/// </summary>/// <param name="JobKey"></param>public static void PauseJob(string JobKey){try{JobKey jk = new JobKey(JobKey);if (scheduler.CheckExists(jk)){//任務(wù)已經(jīng)存在則暫停任務(wù)scheduler.PauseJob(jk);LogHelper.WriteLog(string.Format("任務(wù)“{0}”已經(jīng)暫停", JobKey));}}catch (Exception ex){throw ex;}}? 這里,只說了暫停的,只不過其他的都差不多。
3. 其他
另外,Quartz.NET提供了crystal-quartz ?來實(shí)現(xiàn)遠(yuǎn)程管理。CrystalQuartz.Example.RemoteScheduler.Server 示例。感興趣的朋友, 可以自己手動配置看看。
轉(zhuǎn)載于:https://www.cnblogs.com/zxtceq/p/7300569.html
總結(jié)
以上是生活随笔為你收集整理的Quartz.NET总结(四)Quartz 远程调度的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jQuery上拉加载更多
- 下一篇: 2.1 js 基础--select深入