回到目录

对于任务调度来说,越来越多的团队选择了quartz,它在java和.net环境下表现都十分优秀,配置简单,功能强大,时间表达式配置灵活,但在使用时,还是感觉缺点什么,怎么说,你在服务器上安装了一个任务,然后然它们去运行,我们在客户端或者一个web网站里,如果对服务端的任务进行管理呢,这是一个大难题,而今天我要写的就是如何去实现这样一个任务管理器!

小知识

quartz为我们提供了远程模式,即可以监听一个端口,用来等待客户端去调用,呵呵

CrystalQuartz用来创建远程链接对象

  private static RemoteSchedulerProvider remoteSchedulerProvider = new CrystalQuartz.Core.SchedulerProviders.RemoteSchedulerProvider();
remoteSchedulerProvider.SchedulerHost = System.Configuration.ConfigurationManager.AppSettings["SchedulerHost"];

效果预览

aaarticlea/png;base64,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" alt="" />

aaarticlea/png;base64,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" alt="" />

说做就做

        /// <summary>
/// 恢复开始任务
/// </summary>
/// <param name="jobName"></param>
/// <param name="group"></param>
/// <returns></returns>
public ActionResult Start(string jobName, string group)
{
remoteSchedulerProvider.Scheduler.ResumeJob(new JobKey(jobName, group));
return RedirectToAction("Index");
}
/// <summary>
/// 暂停任务
/// </summary>
/// <param name="jobName"></param>
/// <param name="group"></param>
/// <returns></returns>
public ActionResult Stop(string jobName, string group)
{
remoteSchedulerProvider.Scheduler.PauseJob(new JobKey(jobName, group));
return RedirectToAction("Index");
}

上面代码可以实现界面中的“开始”和暂停“两个功能,主要是对trigger进行控制的,值得注意的是,如果你修改的时间表达式,需要从新启动服务才会生效!

回到目录

我心中的核心组件(可插拔的AOP)~调度组件quartz.net续~任务管理器的开发的更多相关文章

  1. 我心中的核心组件(可插拔的AOP)~大话开篇及目录

    回到占占推荐博客索引 核心组件 我心中的核心组件,核心组件就是我认为在项目中比较常用的功能,如日志,异常处理,消息,邮件,队列服务,调度,缓存,持久化,分布式文件存储,NoSQL存储,IoC容器,方法 ...

  2. 我心中的核心组件(可插拔的AOP)~第二回 缓存拦截器

    回到目录 AOP面向切面的编程,也称面向方面的编程,我更青睐于前面的叫法,将一个大系统切成多个独立的部分,而这个独立的部分又可以方便的插拔在其它领域的系统之中,这种编程的方式我们叫它面向切面,而这些独 ...

  3. 助力深度学习!阿里开源可插拔 GPU 共享调度工具

    根据 Gartner 对全球 CIO 的调查结果显示,人工智能将成为 2019 年组织革命的颠覆性力量.对于人工智能来说,算力即正义,成本即能力,利用 Docker 和 Kubernetes 代表云原 ...

  4. 我心中的核心组件(可插拔的AOP)~第四回 异常拦截器

    回到目录 之前说过有关拦截器的文章,第二回  缓存拦截器,事实上,在那讲里说的最多是AOP和缓存组件,对于拦截的概念并没有详细的说明,这一讲,不说AOP,主要说一下拦截器,拦截器Interceptio ...

  5. 我心中的核心组件(可插拔的AOP)~第五回 消息组件

    回到目录 之所以把发消息拿出来,完全是因为微软的orchard项目,在这个项目里,将公用的与领域无关的功能模块进行抽象,形成了一个个的组件,这些组件通过引用和注入的方式进行工作,感觉对于应用程序的扩展 ...

  6. 我心中的核心组件(可插拔的AOP)~第六回 消息组件~续

    回到目录 上一回写消息组件已经是很久之前的事了,这一次准备把消息组件后续的东西说一下,事实上,第一篇文章主要讲的是发消息,而这一讲最要讲的是收消息,简单的说,就是消息到了服务器之后,如何从服务器实时的 ...

  7. 我心中的核心组件(可插拔的AOP)~调度组件quartz.net

    回到目录 quartz.net是一个任务调度组件,它可以灵活的设置你的调试方式,按时间,按日期,按周期都可以很容易的实现,quartz不仅可以用在web中,而且还可以部署在winform,winser ...

  8. 我心中的核心组件(可插拔的AOP)~第十二回 IoC组件Unity

    回到目录 说在前 Ioc组件有很多,之前也介绍过autofac,castle等,今天再来说一下在微软Nlayer DDD架构里使用的unity组件,今天主要说一下依靠注入,如果希望看拦截的用法,可以阅 ...

  9. 我心中的核心组件(可插拔的AOP)~第十三回 实现AOP的拦截组件Unity.Interception

    回到目录 说在前 本节主要说一下Unity家族里的拦截组件,对于方法拦截有很多组件提供,基本上每个Ioc组件都有对它的实现,如autofac,它主要用在orchard项目里,而castle也有以拦截的 ...

随机推荐

  1. node学习笔记(三)

    //事件驱动events //events是node最重要的模块没有之一,因为node.js本身的架构就是事件式的,而他提供了唯一的接口,所以堪称node.js事件编程的基石; //events几乎被 ...

  2. ArcGIS API ArcGISDynamicMapServiceLayer.setVisibleLayers对带有GroupLayer图层组的数据无效(针对LayerInfo)问题探讨

    首先看下setVisibleLayers方法: setVisibleLayers(ids, doNotRefresh?) Sets the visible layers of the exported ...

  3. ruby日记1

    1.irb参数配置 ~/.irbrc IRB.conf[:PROMPT_MODE] = :SIMPLE #简化 irb 提示符,以及禁用一些烦人的自动缩进行为 IRB.conf[:AUTO_INDEN ...

  4. vijos1909寻找道路

      描述 在有向图 G 中,每条边的长度均为 1,现给定起点和终点,请你在图中找一条从起点到 终点的路径,该路径满足以下条件: 路径上的所有点的出边所指向的点都直接或间接与终点连通. 在满足条件 1 ...

  5. 在VS2010配置MPI--win7下64位系统

    配置MPI经历了不少波折,把这些经历记录下来,告诫后来人. 1.版本要对 下载MPI,去官方网站 http://www.mpich.org/downloads/ 选择x86-64版本 2.步骤要对 1 ...

  6. [转]Maven 划分模块

    所有用Maven管理的真实的项目都应该是分模块的,每个模块都对应着一个pom.xml.它们之间通过继承和聚合(也称作多模块,multi-module)相互关联.那么,为什么要这么做呢?我们明明在开发一 ...

  7. android wifi P2P CONNECT, INVITE和JOIN流程选择

    android wifi P2P CONNECT, INVITE和JOIN流程选择

  8. CoreData基础

    CoreData用于做数据持久化,适合大数据量的存储和查询 CoreData不是数据库 CoreData可以使用数据库 ,XML等方式来存储数据 CoreData使用面向对象的方式操作数据 CoreD ...

  9. centos7.2 默认启动内核修改

    总所周知,修改centos6的内核启动顺序,只需要修改/etc/grub.conf 里的default项配置即可.那么centos7系统该如何修改呢? 下面就centos7系统修改内核,做如下记录: ...

  10. 配置IP地址

    1.linux如果在一个路由器环境中,则可以使用dhclient命令获取IP地址. dhclient 2.手动配置 打开配置文件 vi /etc/sysconfig/network-scripts/i ...