quartz.config

# You can configure your scheduler in either <quartz> configuration section
# or in quartz properties file
# Configuration section has precedence quartz.scheduler.instanceName = RemoteServer # configure thread pool info
quartz.threadPool.type = Quartz.Simpl.SimpleThreadPool, Quartz
quartz.threadPool.threadCount =
quartz.threadPool.threadPriority = Normal # job initialization plugin handles our xml reading, without it defaults are used
quartz.plugin.xml.type = Quartz.Plugin.Xml.XMLSchedulingDataProcessorPlugin, Quartz.Plugins quartz.plugin.xml.fileNames = ~/quartz_jobs.xml # export this server to remoting context
quartz.scheduler.exporter.type = Quartz.Simpl.RemotingSchedulerExporter, Quartz
quartz.scheduler.exporter.port =
quartz.scheduler.exporter.bindName = QuartzScheduler
quartz.scheduler.exporter.channelType = tcp
quartz.scheduler.exporter.channelName = httpQuartz
quartz.scheduler.exporter.rejectRemoteRequests = true
quartz_jobs.xml

<?xml version="1.0" encoding="UTF-8"?>

<!-- This file contains job definitions in schema version 2.0 format -->

<job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0">

  <processing-directives>
<overwrite-existing-data>true</overwrite-existing-data>
</processing-directives> <schedule> <!--cancelOrderJob测试 任务配置-->
<job>
<name>cancelOrderJob</name>
<group>ABC.OMS.Order</group>
<description>取消订单计划任务</description>
<job-type>QuartzTest.Jobs.CancelOrderJob,QuartzTest.Jobs</job-type>
<durable>true</durable>
<recover>false</recover>
</job>
<trigger>
<cron>
<name>cancelOrderTrigger</name>
<group>ABC.OMS.Order</group>
<job-name>cancelOrderJob</job-name>
<job-group>ABC.OMS.Order</job-group>
<start-time>--22T00::+:</start-time>
<cron-expression>/ * * * * ? </cron-expression>
</cron>
</trigger> </schedule>
</job-scheduling-data>
class Program
{
static void Main(string[] args)
{
// var properties = new NameValueCollection();
// properties["quartz.scheduler.instanceName"] = "RemoteServer";
// 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"] = "555";
// properties["quartz.scheduler.exporter.bindName"] = "QuartzScheduler";
// properties["quartz.scheduler.exporter.channelType"] = "tcp";
// properties["quartz.scheduler.exporter.channelName"] = "httpQuartz";
// properties["quartz.scheduler.exporter.rejectRemoteRequests"] = "true";
//ISchedulerFactory schedFact = new StdSchedulerFactory(properties); ISchedulerFactory schedFact = new StdSchedulerFactory();
IScheduler sched = schedFact.GetScheduler().Result;
sched.Start(); IJobDetail cancelOrderJob = JobBuilder.Create<CancelOrderJob>()
.WithIdentity("cancelOrderJob", "ABC.OMS.Order")
.Build(); ITrigger cancelOrderTrigger = TriggerBuilder.Create()
.WithIdentity("cancelOrderTrigger", "ABC.OMS.Order")
.StartNow()
.WithSimpleSchedule(x => x
.WithIntervalInSeconds()
.RepeatForever())
.Build(); IJobDetail job1 = JobBuilder.Create<PaymentConfirmedJod>()
.WithIdentity("PaymentConfirmedJod", "group1")
.Build();
ITrigger trigger1 = TriggerBuilder.Create()
.WithIdentity("PaymentConfirmedTrigger", "group1")
.StartNow()
.WithSimpleSchedule(x => x
.WithIntervalInSeconds()
.RepeatForever())
.Build(); sched.ScheduleJob(cancelOrderJob, cancelOrderTrigger);
sched.ScheduleJob(job1, trigger1); System.Console.ReadKey();
}
}
namespace QuartzTest.Jobs
{
[DisallowConcurrentExecution] //设置JOB不允许并行执行
public class CancelOrderJob : IJob
{
System.Threading.Tasks.Task IJob.Execute(IJobExecutionContext context)
{
System.Console.WriteLine(string.Format("[{0}]订单已取消", DateTime.Now));
Thread.Sleep();
return System.Threading.Tasks.Task.CompletedTask;
}
}
}

QuartzNet使用的更多相关文章

  1. quartznet笔记

    http://sourceforge.net/projects/quartznet/files/quartznet/

  2. [置顶] quartznet任务调度和消息调度(JAVA与C#版对比)

    quartznet任务调度和消息调度 1.  作用 自动执行任务. 2.  下载地址 NET版本 JAVA版本 1下载 http://quartznet.sourceforge.net/downloa ...

  3. Asp.Net Core 基于QuartzNet任务管理系统

    之前一直想搞个后台任务管理系统,零零散散的搞到现在,也算完成了. 这里发布出来,请园里的dalao批评指导! 废话不多说,进入正题. github地址:https://github.com/YANGK ...

  4. Asp.Net Core2.0 基于QuartzNet任务管理系统

    Quartz.NET官网地址:https://www.quartz-scheduler.net/ Quartz.NET文档地址:https://www.quartz-scheduler.net/doc ...

  5. Asp.Net Core 基于QuartzNet任务管理系统(这是一篇用来水的随笔)

    之前一直想搞个后台任务管理系统,零零散散的搞到现在,也算完成了. 废话不多说,进入正题. github地址:https://github.com/YANGKANG01/QuartzNetJob 一.项 ...

  6. SqlServer+Topshelf+Quartznet做集群,定时任务分布式处理

    接触Quartznet之前,老东家用的是总监自己写的分布式任务框架,好用但是配置麻烦,unity,一个微软容器,配置节点错一个,整个使用到unity文件的项目全部跑不起来,这后果真的受不了... 目前 ...

  7. Net Core2.0 基于QuartzNet任务管理系统

    Net Core2.0 基于QuartzNet任务管理系统 Quartz.NET官网地址:https://www.quartz-scheduler.net/ Quartz.NET文档地址:https: ...

  8. Topshelf + QuartzNet 实现挂载在 WIndows Services 中的定时任务

    直接贴代码了: 首先我们可以把所有的 Job 放到一个单独的 DLL 中,好处是可以共享这些业务 Job.比如我们新建一个 QuartzNetDemo.WinService.Jobs 的类库. 然后, ...

  9. QuartzNet 远程管理持久化job 项目, 源码在Github..希望对大家有所帮助

    文章目录 为了方便大家去学习 QuartzNet 与 CrystalQuartz 更多信息请点击链接查看 简介 结构图 为了方便大家去学习 QuartzNet 与 CrystalQuartz 更多信息 ...

随机推荐

  1. Java SE学习【二】——面向对象

    面向对象的学习也进行了一段时间,这段时间学了,类和对象:属性:方法:封装:继承:多态:接口.也算是有一些自己的理解,不愧是贴近人类思维的思想,老师讲时我常常会想到以前的一些事物和其交相印证,其中最常想 ...

  2. java15

    1.数组 格式:数据类型 [ ] 数据名称 = new 数据类型 [ ] { }: 2.初始化 静态初始化(已知要开多少个房间来存储数据) int[ ] a =new int[ ] {12,32,54 ...

  3. [C#.net]WinForm载入窗体完成后自动执行事件

    一.以下是网络上可搜索到的次序 当 Windows Form 应用程序启动时,会以下列顺序引发主要表单的启动事件:        System.Windows.Forms.Control.Handle ...

  4. 9月list

    开学了,我已经是大三的老学姐了,难受! 哇,时间过得好快啊,感觉自己快毕业了,肿么办!!! 9月了,快一年了,其实很多东西都变了,比如你. 9月4日的list:

  5. Magpie

    https://github.com/LLNL/magpie Magpie contains a number of scripts for running Big Data software in ...

  6. Python多进程并发操作进程池Pool

    目录: multiprocessing模块 Pool类 apply apply_async map close terminate join 进程实例 multiprocessing模块 如果你打算编 ...

  7. QT5中无法包含Qtgui头文件的问题。

    今天新学QT是,从一个ppt中边看边抄边学.前几页还能理解,但到了用纯源码写空白QT工程时,便遇到了一个问题.头文件里包含 #include  <QtGui> 但是编译时总是出现下面图一中 ...

  8. vue父传子

    父组件传递数据给子组件用props,父组件中使用子组件,子组件用props接收父组件数据. Home父组件代码: <template> <div> {{test}} <! ...

  9. PHP Libevent扩展安装及应用

    http://www.phpddt.com/php/libevent.html PHP Libevent扩展安装及应用

  10. lnmp源码编译安装zabbix

    软件安装 Mysql 安装 tar xf mysql-5.7.13-1.el6.x86_64.rpm-bundle.tar -C mysql rpm -e --nodeps  mysql-libs-5 ...