Quartz.NET总结(四)Quartz 远程调度
轉(zhuǎn)載自:http://www.cnblogs.com/zhangweizhong/p/5552558.html
前面篇已經(jīng)介紹了Quartz.NET的配置,使用和Cron表達(dá)式表達(dá)式的寫法。基本上后臺(tái)的定時(shí)任務(wù)的定時(shí)執(zhí)行已經(jīng)完成,并能正確的按照?qǐng)?zhí)行計(jì)劃,執(zhí)行相關(guān)的job 。
然后,如果任務(wù)需要更新,停止某個(gè)任務(wù)呢 ? 總不能上服務(wù)器去改相關(guān)job 的配置吧。 所以,Quartz.NET 也給我們提供了遠(yuǎn)程調(diào)度的方法。這次就簡(jiǎn)單介紹下Quartz.NET 遠(yuǎn)程調(diào)度的配置和方法。
1. 配置Quartz.NET 遠(yuǎn)程方式執(zhí)行
計(jì)劃任務(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)說(shuō)明:
1. 客戶端的"quartz.scheduler.proxy.address" 配置的地址由服務(wù)器上配置的channelType,port和 bindName 等組成。注意保持一致。
2. 服務(wù)器初始化啟動(dòng)時(shí),從數(shù)據(jù)庫(kù)啟動(dòng)相關(guān)Job 的過(guò)程這里不細(xì)說(shuō)。下次介紹我自己做的任務(wù)調(diào)度平臺(tái)的時(shí)候,再細(xì)說(shuō)。
3. Job 服務(wù)器上,其實(shí)就算一個(gè)服務(wù)宿主,在后臺(tái)控制調(diào)度全部的job 執(zhí)行計(jì)劃。
2. 管理客戶端
a) 創(chuàng)建一個(gè)后臺(tái)管理的客戶端,可以是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;}}? 這里,只說(shuō)了暫停的,只不過(guò)其他的都差不多。
3. 其他
另外,Quartz.NET提供了crystal-quartz ?來(lái)實(shí)現(xiàn)遠(yuǎn)程管理。CrystalQuartz.Example.RemoteScheduler.Server 示例。感興趣的朋友, 可以自己手動(dòng)配置看看。
轉(zhuǎn)載于:https://www.cnblogs.com/zxtceq/p/7300569.html
總結(jié)
以上是生活随笔為你收集整理的Quartz.NET总结(四)Quartz 远程调度的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: jQuery上拉加载更多
- 下一篇: 设计模式(4)--AbstractFac