TopShelf+Quartz.net实现window定时调度服务
来源:互联网 发布:双色球算法必中6红球 编辑:程序博客网 时间:2024/05/19 02:42
1、新建控制台应用,通过nuget安装Quartz和topshelf、log4net
2、创建定时调度QuartzServer类
public class QuartzServer : ServiceControl, ServiceSuspend { private readonly IScheduler scheduler; public QuartzServer() { scheduler = StdSchedulerFactory.GetDefaultScheduler(); } public bool Start(HostControl hostControl) { scheduler.Start(); return true; } public bool Stop(HostControl hostControl) { scheduler.Clear(); return true; } public bool Continue(HostControl hostControl) { scheduler.ResumeAll(); return true; } public bool Pause(HostControl hostControl) { scheduler.PauseAll(); return true; } }
3、创建具体执行的作业类SampleJob
public class SampleJob:IJob { public void Execute(IJobExecutionContext context) { LoggerFactory.Info("SampleJob running..."); } }
4、程序入口
class Program { static void Main(string[] args) { HostFactory.Run(x => { x.Service<QuartzServer>(); x.SetDescription("测试服务"); x.SetDisplayName("TestService"); x.SetServiceName("TopShelfQuartzDemo.TestService"); }); } }
5、quartz配置文件quartz_jobs.xml:
<schedule> <job> <name>SampleJob</name> <group>sampleGroup</group> <description>Sample job for Quartz</description> <job-type>TopShelfQuartzDemo.SampleJob, TopShelfQuartzDemo</job-type> <durable>true</durable> <recover>false</recover> </job> <trigger> <cron> <name>QuartzServerSample</name> <group>sampleGroup</group> <job-name>SampleJob</job-name> <job-group>sampleGroup</job-group> <!-- 从start-time起,从0秒开始,每1/5秒执行一次IJob.Execute --> <start-time>2017-10-22T00:00:00+08:00</start-time> <cron-expression>0/5 * * * * ?</cron-expression> </cron> </trigger> </schedule>
6、quartz.config和Log4Net.config用默认的就可以了
阅读全文
0 0
- TopShelf+Quartz.net实现window定时调度服务
- spring 定时服务调度quartz
- ASP.NET使用Quartz.NET实现定时任务调度
- quartz实现定时任务调度
- Spring+Quartz 实现定时调度
- spring+quartz实现定时调度
- .net Windows服务采用Quartz.NET实现任务调度
- Spring 配置Quartz 定时任务调度服务
- spring 定时服务调度quartz(一)
- spring 定时服务调度quartz(二)
- spring 定时服务调度quartz(三)
- Quartz.NET 2.0实例创建Windows服务实现任务调度
- Quartz.NET 2.0实例创建Windows服务实现任务调度
- Windows服务调用Quartz.net 实现消息调度
- 使用Quartz.net、Topshelf、wcf命名管道制作的一个c#定时任务管理程序(热插拔)
- Window服务与Quartz.NET
- C# 定时任务 调度框架 WebWork (Quartz.NET) Web版的Windows服务
- Quartz.NET 实现作业调度
- 11.Spark SQL:内置函数以及每日uv
- 列主元高斯消元法 C++
- Builder(建造者)模式
- 想知道账号被封的感觉么?
- Java 使用NotePad++DIY一个IDE
- TopShelf+Quartz.net实现window定时调度服务
- 静态方法详解 静态类 静态属性的对比和具体应用
- Unity Shader常见指令和标签
- 项目总结(1)
- SQL语句优化,高效率SQL
- H.264 基础及 RTP 封包详解
- C#取三个数的最大值、最小值、平均值、中间值
- Which Android runs which Linux kernel? ( Android Version --- API Level --- Linux Kernel in AOSP )
- C++ primer 薄片系列之拷贝控制