QuartzNet使用

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使用的更多相关文章
- quartznet笔记
http://sourceforge.net/projects/quartznet/files/quartznet/
- [置顶] quartznet任务调度和消息调度(JAVA与C#版对比)
quartznet任务调度和消息调度 1. 作用 自动执行任务. 2. 下载地址 NET版本 JAVA版本 1下载 http://quartznet.sourceforge.net/downloa ...
- Asp.Net Core 基于QuartzNet任务管理系统
之前一直想搞个后台任务管理系统,零零散散的搞到现在,也算完成了. 这里发布出来,请园里的dalao批评指导! 废话不多说,进入正题. github地址:https://github.com/YANGK ...
- Asp.Net Core2.0 基于QuartzNet任务管理系统
Quartz.NET官网地址:https://www.quartz-scheduler.net/ Quartz.NET文档地址:https://www.quartz-scheduler.net/doc ...
- Asp.Net Core 基于QuartzNet任务管理系统(这是一篇用来水的随笔)
之前一直想搞个后台任务管理系统,零零散散的搞到现在,也算完成了. 废话不多说,进入正题. github地址:https://github.com/YANGKANG01/QuartzNetJob 一.项 ...
- SqlServer+Topshelf+Quartznet做集群,定时任务分布式处理
接触Quartznet之前,老东家用的是总监自己写的分布式任务框架,好用但是配置麻烦,unity,一个微软容器,配置节点错一个,整个使用到unity文件的项目全部跑不起来,这后果真的受不了... 目前 ...
- Net Core2.0 基于QuartzNet任务管理系统
Net Core2.0 基于QuartzNet任务管理系统 Quartz.NET官网地址:https://www.quartz-scheduler.net/ Quartz.NET文档地址:https: ...
- Topshelf + QuartzNet 实现挂载在 WIndows Services 中的定时任务
直接贴代码了: 首先我们可以把所有的 Job 放到一个单独的 DLL 中,好处是可以共享这些业务 Job.比如我们新建一个 QuartzNetDemo.WinService.Jobs 的类库. 然后, ...
- QuartzNet 远程管理持久化job 项目, 源码在Github..希望对大家有所帮助
文章目录 为了方便大家去学习 QuartzNet 与 CrystalQuartz 更多信息请点击链接查看 简介 结构图 为了方便大家去学习 QuartzNet 与 CrystalQuartz 更多信息 ...
随机推荐
- 显示实现接口的好处c#比java好的地方
所谓Go语言式的接口,就是不用显示声明类型T实现了接口I,只要类型T的公开方法完全满足接口I的要求,就可以把类型T的对象用在需要接口I的地方.这种做法的学名叫做Structural Typing,有人 ...
- [Robot Framework] Robot Framework用Execute Javascript对XPath表示的元素执行Click操作
Execute Javascript document.evaluate("//a[contains(@href,'createBook')]", document, null, ...
- cocos jsb工程转html 工程
1 CCBoot.js prepare方法:注掉下面这行,先加载moduleConfig中的脚本后加载user脚本 //newJsList = newJsList.concat(jsList); // ...
- 很漂亮的IP头格式
IP数据包格式 TCP/IP协议定义了一个在因特网上传输的包,称为IP数据报(IP Datagram).这是一个与硬件无关的虚拟包,由首部和数据两部分组成.首部的前一部分是固定长度,共 20 字节,是 ...
- 【轻松前端之旅】<!DOCTYPE>标签
前端学习,先学习HTML,CSS,Javascript HTML - HyperText Markup Language HTML-超文本标记语言,提供了一种标记网页内容的方法. 浏览器怎么知道如何显 ...
- 第一个kbmmw for Linux 服务器
从kbmmw 5.01 开始,就正式支持delphi 10.2 和Linux 了. 今天我们就建一个 kbmmw for linux 服务器简单说一下. 本例子基于上次的linux Daemon例子 ...
- Rest架构风格的实践(使用通用Mapper技术)
1.根据用户 id 查询用户数据 1.1 controll控制器 @RequestMapping("restful/user") @Controller public class ...
- mac os 下 Android Studio设置真机调试
http://www.cnblogs.com/developer-wang/p/6719555.html 如果没有 .bash_profile 只需要创建 .bash_profile,然后增加andr ...
- asp.net core跨平台开发从入门到实战文摘
第1章 .NET Core 第2章 dotnet命令 第3章 VS Code安装及介绍 第4章 VS2015开发.NET Core 第5章 ASP.NET Core 第6章 EF Core 第7章 A ...
- (12)We should aim for perfection — and stop fearing failure
https://www.ted.com/talks/jon_bowers_we_should_aim_for_perfection_and_stop_fearing_failure/transcrip ...