温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Quartz.NET远程调度的配置方法是什么

发布时间:2021-12-16 09:03:28 来源:亿速云 阅读:178 作者:iii 栏目:大数据

本篇内容介绍了“Quartz.NET远程调度的配置方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

  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远程调度的配置方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI