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 更多信息 ...
随机推荐
- JeeSite 4.0
http://jeesite.com/ JeeSite 是一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot.Spring MVC.Apache Shiro.MyBat ...
- PHP ini 配置无效的坑给自己记录
装redis 扩展时,发现装成功之后扩展一直加载不上, 于是phpinfo 发现Configuration File (php.ini) Path:none Loaded Configuration ...
- 安装ubuntu16.04的时候出现的detecting file system
解决问题方法是,进入主界面执行,如下操作即可: sudo umount -l /isodevice
- .NET获取城市信息(将三字代码转换成城市名)
整理代码,发现有一个从两张表里读取城市列表,然后linq和lambda表达式来获取城市名的函数,代码如下: public static string GetCityHotelText(string c ...
- 【C#】解析C#程序集的加载和反射
目录结构: contents structure [+] 程序集 程序集的加载 发现程序集中的类型 反射对类型成员的常规操作 发现类型的成员 创建类型的实例 绑定句柄减少进程的内存消耗 解析自定义特性 ...
- 非接触IC卡中typeA卡和typeB卡的区别--总结,二者的调制方式和编码方式不同
非接触IC卡中typeA卡和typeB卡的区别--总结,二者的调制方式和编码方式不同 1.非接触式IC卡的国际规范ISO/IEC14443的由来? 在非接触式IC卡的发展过程中,这些问题逐渐被解决并形 ...
- 51.从首页内容跳转到第二个Tabbar控制器(controller)
TabBarController: 创建TabBar的控制器 注意:在点击的内容方法页面,添加头文件 #import "TabBarController.h" #import &q ...
- sqlserver的substring详细用法
SQL 中的 substring 函数是用来截取一个栏位资料中的其中一部分. 例如,我们需要将字符串'abdcsef'中的‘abd’给提取出来,则可用substring 来实现: select sub ...
- php 制作验证码不显示的问题
php制作验证码的代码,这里就不多说了,网上有很多的,这里说一些可能遇到的问题. 1. 首先是检查自己的php.ini文件,是否支持gd库. 2.保证代码没有出问题. 3.检查字体文件路径是否正确. ...
- OEM-ODM-OBM
Original Equipment ManufacturerOriginal Design ManufacturerOwn Branding & Manufacturing OEM,即“原始 ...