Source Code-1.6M

介绍

上篇已经了解Quartz.NET的基本使用方法了。但如果想方便的知道某个作业执行情况,需要暂停,启动等操作行为,这时候就需要个Job管理的界面。

本文介绍Quartz.NET如何进行远程job管理,如图:

实战

一:作业服务端

 static void Main(string[] args)
{
var properties = new NameValueCollection();
properties["quartz.scheduler.instanceName"] = "RemoteServerSchedulerClient"; // 设置线程池
properties["quartz.threadPool.type"] = "Quartz.Simpl.SimpleThreadPool, Quartz";
properties["quartz.threadPool.threadCount"] = "5";
properties["quartz.threadPool.threadPriority"] = "Normal"; // 远程输出配置
properties["quartz.scheduler.exporter.type"] = "Quartz.Simpl.RemotingSchedulerExporter, Quartz";
properties["quartz.scheduler.exporter.port"] = "556";
properties["quartz.scheduler.exporter.bindName"] = "QuartzScheduler";
properties["quartz.scheduler.exporter.channelType"] = "tcp"; var schedulerFactory = new StdSchedulerFactory(properties);
var scheduler = schedulerFactory.GetScheduler(); var job = JobBuilder.Create<PrintMessageJob>()
.WithIdentity("myJob", "group1")
.Build(); var trigger = TriggerBuilder.Create()
.WithIdentity("myJobTrigger", "group1")
.StartNow()
.WithCronSchedule("/10 * * ? * *")
.Build();
scheduler.ScheduleJob(job, trigger);
scheduler.Start(); }
 public class PrintMessageJob : IJob
{
public void Execute(IJobExecutionContext context)
{
Console.WriteLine("Hello!");
}
}

启动如下

二:作业远程管理端,无需写任何代码,引用官方程序集,嵌入到已有的web网站。

PM> Install-Package CrystalQuartz.Remote

Webconfig 需要配置的地方

<configuration>
<crystalQuartz>
<provider>
<add property="Type" value="CrystalQuartz.Core.SchedulerProviders.RemoteSchedulerProvider, CrystalQuartz.Core" />
<add property="SchedulerHost" value="tcp://127.0.0.1:556/QuartzScheduler" /> <!--TCP监听的地址-->
</provider> </crystalQuartz>
<system.webServer>
<!-- Handler拦截处理了,输出作业监控页面-->
<handlers>
<add name="CrystalQuartzPanel" verb="*" path="CrystalQuartzPanel.axd" type="CrystalQuartz.Web.PagesHandler, CrystalQuartz.Web" />
</handlers>
</system.webServer>
</configuration>

 Web管理界面

其他

CrystalQuartz 提供基础功能,可以继续在此基础上进行二次开发,另外推荐使用Window服务寄宿,比较方法。

参考资源

张善友               http://www.cnblogs.com/shanyou/archive/2012/01/15/2323011.html

CrystalQuartz开源的地址   https://github.com/guryanovev/CrystalQuartz

Net作业调度(二) -CrystalQuartz远程管理的更多相关文章

  1. 远程管理无管理员权限的PC客户端

    一.简介 为提高操作系统稳定性.流畅度,分公司同事PC用户没有administrator权限,导致同事不能对系统进行设置.不能自行安装软件.网管使用远程管理软件(如Teamviewer.QQ)为同事提 ...

  2. h3c 交换机配置VLAN和远程管理

    一.基本设置 1. console线连接成功 2. 进入系统模式 <H3C>system-view //提示符由<H3C> 变为 [H3C] 3. 更改设备名称 [H3C]sy ...

  3. linux远程管理工具

    一.常见的远程管理控制方式主要有以下几种 ①RDP(remote desktop protocol)协议 远程桌面协议,我们常用的windows操作系统就是的远程桌面管理就是基于该协议的. ②teln ...

  4. SSH安全登录(远程管理)22端口

    Linux管理Linux 先加密再发送数据,更安全 一    联机加密工具         非对称钥匙对加密         安装    默认安装    openssh              启动 ...

  5. H3C S3100交换机配置VLAN和远程管理

    一.基本设置 1. console线连接成功 2. 进入系统模式 <H3C>system-view //提示符由<H3C> 变为 [H3C] 3. 更改设备名称 [H3C]sy ...

  6. Linux基础知识第六讲,远程管理ssh操作

    目录 Linux基础知识第六讲,远程管理ssh操作 一丶什么是SSH 1.什么是SSH 2.了解域名跟端口 二丶SSH命令以及远程连接linux进行维护 1.ssh命令格式 2.scp远程终端拷贝文件 ...

  7. [转帖]Ansible批量远程管理Windows主机(部署与配置)

    2018-09-12 12:04:42 https://blog.51cto.com/7424593/2174156 一.测试环境介绍 Ansible管理主机: 系统:   CentOS6.8 IP ...

  8. Linux的远程管理

    一.远程管理 与个人用的计算机不同,服务器一般都是运行在IDG机房中,所以我们通常不会直接接触服务器硬件,而是通过各种远程管理方式对服务器进行控制 1.常见远程管理工具方式: -RDP(remote ...

  9. Hive 系列(二)权限管理

    Hive 系列(二)权限管理 一.关于 Hive Beeline 问题 启动 hiveserver2 服务,启动 beeline -u jdbc:hive2:// 正常 ,启动 beeline -u ...

随机推荐

  1. Linux下Keepalived+LVS-DR模式配置高可用负载均衡集群

    一.环境说明:     操作系统:Centos-6.5_x86_64    keepalived软件安装在node2和node3机器上.     实际安装之前,先关闭keepalived节点(node ...

  2. Entity Framework 6 Database-first连接Oracle11g

    Entity Framework 6 Database-first连接Oracle11g(图文细说) 本文发布地址:http://www.cnblogs.com/likeli/p/5577264.ht ...

  3. Eclipse 调试Bug之使用断点的七大技巧

    原文链接:http://xiaohuafyle.iteye.com/blog/1705494 调试竟然有这么多技巧,亏我以前竟不知道...   Eclipse这个开发工具为我们调试bug提供了非常便利 ...

  4. VS 编辑器扩展辅助工具

    [工具]——[扩展和更新]——[联机]输入 C# outline 2015

  5. IOS UIAppLocation 单例模式

    UIApplocation * app=[UIApplocation shareapplocation]; UIAppLocation 只能被初始化一次. 一个程序中只能被创建一次,称为单例模式. 单 ...

  6. 从零开始山寨Caffe·拾:IO系统(三)

    数据变形 IO(二)中,我们已经将原始数据缓冲至Datum,Datum又存入了生产者缓冲区,不过,这离消费,还早得很呢. 在消费(使用)之前,最重要的一步,就是数据变形. ImageNet Image ...

  7. linux菜鸟日记(3)

    Centos7利用shell编辑一串 一键完成一些基础配置的代码: 在这串shell代码中我实现了  IP地址的配置.光盘的挂载.本地yum源的搭建.一些服务的安装例如 httpd. php. ntp ...

  8. css3的动画特性

    css3 的过渡动画,有些时候会产生一些其他问题. 比如:你想先改一个css属性,之后再进行动画过渡,结果实际上你会发现,css属性和动画是同步进行的.这个应该是在编译阶段就确定好了. 所以只能通过s ...

  9. Android -- PopupWindow(其中嵌套ListView 可以被点击)

    1. 效果图

  10. iOS 中自定义 cell,点击cell的时候文字不出现的原因

    解决方案: 在setSelected方法中设置要显示label的背景颜色即可