VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > 简明python教程 >
  • Quartz3.0定时任务学习之异步调度器(2)

可以看到调度器管理类中包含四个主要函数,如下:

运行调度器任务(Run)

初始化调度器(Init)

关闭调度器(Shutdown)

添加任务(PushJop)

应用程序通过这四个函数的调用,就可以使用Quartz了。

添加配置文件

quartz.config

quartz.config是调度器工厂StdSchedulerFactory的配置文件,我们可以在初始化调度器时配置,但显然在配置文件里设置更易于修改。

quartz.config内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# You can configure your scheduler in either <quartz> configuration section
# or in quartz properties file
# Configuration section has precedence
quartz.scheduler.instanceName = QuartzTest
# configure thread pool info
quartz.threadPool.type = Quartz.Simpl.SimpleThreadPool, Quartz
quartz.threadPool.threadCount = 10
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_jobs.xml路径
#quartz.plugin.xml.fileNames = ~/quartz_jobs.xml
# export this server to remoting context 使用CrystalQuartz 放开如下注释
quartz.scheduler.exporter.type = Quartz.Simpl.RemotingSchedulerExporter, Quartz
quartz.scheduler.exporter.port = 555
quartz.scheduler.exporter.bindName = QuartzScheduler
quartz.scheduler.exporter.channelType = tcp
quartz.scheduler.exporter.channelName = httpQuartz

如果在初始化时配置,参考如下代码:

1
2
3
4
5
NameValueCollection props = new NameValueCollection
{
   "quartz.serializer.type""binary" }
};
StdSchedulerFactory factory = new StdSchedulerFactory(props);

quartz_jobs.xml

quartz_jobs.xml是任务配置文件,用于配置任务的。不过本文的调度器管理类已经通过的PushJop函数对任务进行了配置,所以就不需要在quartz_jobs.xml文件中配置了,不过为了测试方便,我们还是添加一个quartz_jobs.xml文件,因为quartz.config文件中指定配置了quartz_jobs.xml,所以没有它会异常。

这里我们添加一个空的quartz_jobs.xml文件,如下:

1
2
3
4
5
6
7
8
9
<?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>
  </schedule>
</job-scheduling-data>

相关教程