quartz

quartz使用

两盒软妹~` 提交于 2020-01-01 22:27:36
1、把quartz-*.jar 包放到lib目录下,他还需要 slf4j-api-*.jar 、 jta-*.jar 2、在web.xml文件中增加: <!-- quartz begin --> <context-param> <param-name>config-file</param-name> <param-value>/quartz.properties</param-value> </context-param> <context-param> <param-name>shutdown-on-unload</param-name> <param-value>true</param-value> </context-param> <listener> <listener-class> org.quartz.ee.servlet.QuartzInitializerListener </listener-class> </listener> <!-- quartz end --> 3、在src目录下建立 quartz.properties #============================================================================ # Configure Main Scheduler Properties #====

使用Quartz实现定时作业

岁酱吖の 提交于 2020-01-01 22:27:11
该文章是系列文章 基于.NetCore和ABP框架如何让Windows服务执行Quartz定时作业 的其中一篇。 Quartz是一个开源的作业调度框架,准确的称谓应该是 Quartz.Net ,它是Java开源项目 Quartz Scheduler 的一部分。 关于Quartz的功能可访问 https://www.quartz-scheduler.net/features.html nuget地址: https://www.nuget.org/packages/Quartz/3.0.7/ GitHub地址: https://github.com/quartznet/quartznet 首先是对 定义的MyJobService 进行完善。 using System.Threading.Tasks; namespace Demo.MyJob { public class MyJobService { public async Task StartAsync() { //操作逻辑 } public async Task StopAsync() { //操作逻辑 } public async Task ContinueAsync() { //操作逻辑 } public async Task PauseAsync() { //操作逻辑 } } } 完善之后的代码如下 using System

Quartz.NET总结(三)如配置jobs

江枫思渺然 提交于 2020-01-01 22:13:59
  前两篇文章,已经介绍了Quartz.NET的使用和Cron表达式表达式的写法,今天说一说Quartz的配置,Quartz相关的配置有三个quartz.config、quartz_jobs.xml、log4net.config。其中quartz.config是基本的配置, quartz_jobs.xml是相关的job 任务配置文件,log4net.config则是日志记录的配置。 1. quartz.config , 是Quartz.NET是基本的配置,主要是配置quartz_jobs.xml 的路径,及其他相关的参数。默认的quartz任务配置文件为quartz_jobs.xml,在quartz服务的根目录下,可以通过quartz.config中quartz.plugin.xml.fileNames = ~/quartz_jobs.xml进行设置。 # You can configure your scheduler in either <quartz> configuration section # or in quartz properties file # Configuration section has precedence quartz.scheduler.instanceName = ServerScheduler # configure thread pool

Quartz.NET总结(三)Quartz 配置

为君一笑 提交于 2020-01-01 22:13:31
转载自:http://www.cnblogs.com/zhangweizhong/p/4894354.html 前两篇文章,已经介绍了Quartz.NET的使用和Cron表达式表达式的写法,今天说一说Quartz的配置,Quartz相关的配置有三个quartz.config、quartz_jobs.xml、log4net.config。其中quartz.config是基本的配置, quartz_jobs.xml是相关的job 任务配置文件,log4net.config则是日志记录的配置。 1. quartz.config , 是Quartz.NET是基本的配置,主要是配置quartz_jobs.xml 的路径,及其他相关的参数。默认的quartz任务配置文件为quartz_jobs.xml,在quartz服务的根目录下,可以通过quartz.config中quartz.plugin.xml.fileNames = ~/quartz_jobs.xml进行设置。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 # You can configure your scheduler in either <quartz>

Quartz.NET 入门

烈酒焚心 提交于 2020-01-01 22:13:15
Quartz.NET 是一套很好的任务调度框架。 下面介绍如何使用: 在项目Nuget包管理器中搜索:quartz 安装后会添加如下dll: <packages> <package id="Common.Logging" version="3.0.0" targetFramework="net452" /> <package id="Common.Logging.Core" version="3.0.0" targetFramework="net452" /> <package id="Quartz" version="2.3.3" targetFramework="net452" /> </packages> 简单场景 先定义一个Job,需要实现IJob接口: public class HelloJob : IJob { public void Execute(IJobExecutionContext context) { Console.WriteLine("Hello " + DateTime.Now.ToString()); } } 启动Job: static void Main(string[] args) { ISchedulerFactory schedFact = new StdSchedulerFactory(); IScheduler sched =

Quartz.NET开源作业调度架构

我是研究僧i 提交于 2020-01-01 22:11:59
Quartz.NET是一个开源的作业调度框架,是 OpenSymphony 的 Quartz API 的.NET移植,它用C#写成,可用于winform和asp.net应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。 Quick Start 1、项目官网: http://www.quartz-scheduler.net/ 2、建议官网下载压缩包,浏览下源码的大概(里面源码、使用示例) ,src/Quartz可以引入到自己的项目中,Quartz.NET框架需要第三方库,引入这些三方库是必需的 NuGet方式: Install-Package Quartz 3、使用配置文件 1)appconfig或webconfig <configSections> <section name="quartz" type="System.Configuration.NameValueSectionHandler,System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> </configSections> <quartz> <add key="quartz.scheduler

通过配置文件实现任务调度

孤街醉人 提交于 2020-01-01 22:11:18
Quartz.NET 2.0 可以很方便的通过配置的xml文件方式实现灵活的任务调度配置(1.0版本就已经支持了,只是配置文件格式有些变化) 默认的quartz任务配置文件为quartz_jobs.xml,在quartz服务的根目录下,可以通过quartz.config中 quartz.plugin.xml.fileNames = ~/quartz_jobs.xml进行设置 默认quartz.config文件结构如下 quartz.config 1 # You can configure your scheduler in either <quartz> configuration section 2 # or in quartz properties file 3 # Configuration section has precedence 4 5 quartz.scheduler.instanceName = ServerScheduler 6 7 # configure thread pool info 8 quartz.threadPool.type = Quartz.Simpl.SimpleThreadPool, Quartz 9 quartz.threadPool.threadCount = 10 10 quartz.threadPool.threadPriority

.Net Core小技巧 - Hosted Services + Quartz实现定时任务调度

烈酒焚心 提交于 2019-12-29 14:32:30
背景   之前一直有朋友问,.Net Core + Linux环境有没有类似Windows服务的东西。其实是有的,我了解的方法有两种:   #1 创建一个ASP.Net Core的Web项目(如Web API),然后通过添加中间件(Middleware)的方式来启动任务;   #2 创建一个.Net Core的项目,添加Host,Dependency Injection,Configuration等组件,然后通过Main方法或中间件的方式启动服务。   但是,上述两种方法都有点不足,如:   #1 会把Web的生命周期引进来,但实际上,我们并不需要Web的功能,如Controller;   #2 本身是没有问题的,但是对开发者的要求相对高一点点,需要对.Net Core的各个组成部分都有一定的认识,简而言之,门槛有一丢丢高。   .Net Core 2.1推出了一个 Generic Host 的概念,可以很好的解决上面两种方法的不足:      至于为什么选择Quartz来做调度,我想可能是因为情怀吧,因为之前是用的TopShelf+Quartz,其实Hangfire也不错。 使用Hosted Service 1. 创建一个控制台程序。 2. 添加Host Nuget包。 Install-Package Microsoft.Extensions.Hosting -Version 2

小议时序调度Timer和Quartz

元气小坏坏 提交于 2019-12-29 10:31:27
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 本文不是用来讲授入门手把手ABC小例子的,算是自己这段时间对Timer和Quartz使用心得的总结吧,后续如果有更深的认识会不断更新的。 言归正传,想实现定时调度,最简单的方法是使用 Timer 还是先给个使用范例: Java代码 long PERIOD = 60 * 1000 ; //一分钟 Timer timer = new Timer( "sure's timer" ); timer.schedule( new TimerTask() { @Override public void run() { if (!doSomething()){ timer.cancel(); } } }, 0 , PERIOD); 上面的代码实现了一个从当前时间开始执行的,以一分钟为周期的定时器。执行的内容在doSomething()方法中实现,这个方法返回是否继续执行的布尔值,因此可以在需要的时候将定时器cancel掉。 好了,让我们看一看Timer的源码。 (注:这个本人学习习惯有关,看了一个简单的例子就不想再看大段大段的文字了,还是看看源码比较直接,也比较准确) Java代码 public class Timer { private TaskQueue queue = new TaskQueue(); private

体检管理系统——定时任务组件SpringTask快速入门

旧巷老猫 提交于 2019-12-28 19:51:53
SpringTask是spring内置的定时任务调度。只要有spring的环境,不需要导入其他jar包。 (1)添加配置文件 <?xml version="1.0" encoding="UTF-8"?> ​ <context:component-scan base-package=“cn.itcast”/> task:annotation-driven/ (2)编写Job类 ​ @Component public class MyJob { ​ ​ @Scheduled(cron = “* * * * * ?”) public void run(){ SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”); System.out.println(sdf.format(new Date())); } } SpringTask和Quartz的区别 SpringTask: 默认是单线程同步执行的 一个任务执行完上一次之后,才会执行下一次调度 Quartz: 默认是多线程异步执行的 一个任务在上一次调度未完成执行,下一次调度时间到时,会另起一个线程开始新的调度。 总结: 简单的功能,SpringTask和Quartz都能实现的需要,建议使用SpringTask