zoukankan      html  css  js  c++  java
  • .net下作业调度实战[quartz]

    在我们处理各类信息系统的业务时,定时的调度问题会经常的涉及,quartz是java社区一个很成熟的解决方案,.net也有对应的开源实现,具体为:http://quartznet.sourceforge.net/ 不过这个版本对vs2010和64的支持不好,今天抽了一些时间对以前的这些部分进行了升级,整理了一个初步的通用的方案。

    具体的结构图如下:

    wps_clip_image-503

    客户端

    RemoteDemo

    <quartz>
        <add key="quartz.scheduler.proxy" value="true"/>
        <add key="quartz.scheduler.proxy.address" value="tcp://localhost:555/QuartzScheduler"/>
    </quartz>

    有以上的配置后,只要启动调度,加入作业,即可以发送到调度服务

    ISchedulerFactory sf = new StdSchedulerFactory();
    IScheduler sched = sf.GetScheduler();

    调度服务

    Quartz.Server.Console / Quartz.Server.Service

    调试时可以使用命令行;部署时使用Windows Service

    quartz.config可以进行各种配置设置,例子中Sql Server 和sqlite都可以

    [注意sqlite区分32/64平台,lib\sqlite是重新编译版本,消除了对VC库的依赖]

    quartz.db是使用sql脚本建立的数据库文件

    调度的内容存储在数据库中,以QRTZ_开头的表,如下是一个例子调度的内容

    QRTZ_JOB_DETAILS

    remotelyAddedJob default JobDefinition.SimpleJob, JobDefinition 0 0 0 0

    QRTZ_TRIGGERS

    remotelyAddedTrigger default remotelyAddedJob default 0 634510595450000000 634510595400000000 5 ACQUIRED CRON 634510595000000000 0 0

    定义作业

    在quartz_jobs.xml中配置或客户端代码发布均可

    完整的代码参考: 

    https://skydrive.live.com/self.aspx/.Public/Quartz.net.zip?cid=56b433ad3d1871e3&sc=documents 


  • 相关阅读:
    CSRF-防御与攻击
    windows 命令
    Integer.parseInt(String str, int i)
    springCloud springmvc 七牛云存储整合百度富文本编辑器
    jsp 文件
    标签的使用
    富文本编辑器
    项目总结 js
    namenode 和 datanode 节点
    Hadoop wordcount
  • 原文地址:https://www.cnblogs.com/2018/p/2171657.html
Copyright © 2011-2022 走看看