您好,登錄后才能下訂單哦!
本篇內容介紹了“Quartz.NET遠程調度的配置方法是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
1. 配置Quartz.NET 遠程方式執行
計劃任務的服務器上配置遠程調用Quartz的出口, quartz.config 增加如下配置即可
#export this server to remoting context quartz.scheduler.exporter.type = Quartz.Simpl.RemotingSchedulerExporter, Quartz quartz.scheduler.exporter.port = 555 quartz.scheduler.exporter.bindName = QuartzScheduler quartz.scheduler.exporter.channelType = tcp quartz.scheduler.exporter.channelName = httpQuartz
幾點說明:
1. 客戶端的"quartz.scheduler.proxy.address" 配置的地址由服務器上配置的channelType,port和 bindName 等組成。注意保持一致。
2. 服務器初始化啟動時,從數據庫啟動相關Job 的過程這里不細說。下次介紹我自己做的任務調度平臺的時候,再細說。
3. Job 服務器上,其實就算一個服務宿主,在后臺控制調度全部的job 執行計劃。
2. 管理客戶端
a) 創建一個后臺管理的客戶端,可以是web網站。也可以是別的。
初始化遠程服務器上的全部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("初始化遠程任務管理器失敗" + ex.StackTrace);
}
}
b) 增加,暫停,刪除任務等操作
/// <summary> /// 暫停任務 /// </summary> /// <param name="JobKey"></param> public static void PauseJob(string JobKey) { try { JobKey jk = new JobKey(JobKey); if (scheduler.CheckExists(jk)) { //任務已經存在則暫停任務 scheduler.PauseJob(jk); LogHelper.WriteLog(string.Format("任務“{0}”已經暫停", JobKey)); } } catch (Exception ex) { throw ex; } }
“Quartz.NET遠程調度的配置方法是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。