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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

Quartz.NET总结(四)Quartz 远程调度

發(fā)布時(shí)間:2024/8/26 asp.net 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Quartz.NET总结(四)Quartz 远程调度 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(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

private static IScheduler scheduler = null;public static void InitRemoteScheduler(){try{NameValueCollection properties = new NameValueCollection();properties["quartz.scheduler.instanceName"] = "schedMaintenanceService";properties["quartz.scheduler.proxy"] = "true";properties["quartz.scheduler.proxy.address"] = string.Format("{0}://{1}:{2}/QuartzScheduler", scheme, server, port);ISchedulerFactory sf = new StdSchedulerFactory(properties);scheduler = sf.GetScheduler();}catch (Exception ex){LogHelper.WriteLog("初始化遠(yuǎn)程任務(wù)管理器失敗" + ex.StackTrace);}}

    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)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。