在项目Nuget包管理器中搜索:quartz,安装完成之后再项目中引用即可

先定义一个Job,需要实现IJob接口:

public class TestJob : IJob
{
public void Execute(IJobExecutionContext context)
{
log4net.ILog log = log4net.LogManager.GetLogger(typeof(TestJob));
if (log.IsInfoEnabled)
{
log.Info("记录当前时间" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")+"\r\n");
}
Console.WriteLine("执行调度任务test"+" --- "+ DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
}
}

配置quartz_jobs.xml(附Cron生成器链接)

<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>
<!--任务-->
<job>
<!--任务名称,同一个group中多个job的name不能相同-->
<name>SimpleJob</name>
<!--任务分组-->
<group>sampleGroup</group>
<!--任务描述-->
<description>Sample job for Quartz Server</description>
<!--完整命名空间的类名及所属程序集名称-->
<job-type>WindowsService.Job.SimpleJob, WindowsService</job-type>
<durable>true</durable>
<recover>false</recover>
</job>
<!--任务触发器-->
<trigger>
<!--简单任务的触发器,可以调度用于重复执行的任务-->
<!--<simple>
--><!--触发器名称,同一个分组中的名称必须不同--><!--
<name>sampleSimpleTrigger</name>
--><!--触发器组--><!--
<group>sampleGroup</group>
--><!--描述--><!--
<description>Simple trigger to simply fire sample job</description>
--><!--要调度的任务名称,该job-name必须和对应job节点中的name完全相同--><!--
<job-name>SimpleJob</job-name>
--><!--调度任务(job)所属分组,该值必须和job中的group完全相同--><!--
<job-group>sampleGroup</job-group>
--><!--任务开始时间--><!--
--><!--<start-time>--21T11::+:</start-time>--><!--
<misfire-instruction>SmartPolicy</misfire-instruction>
--><!--任务执行次数 - 为无限次执行--><!--
<repeat-count>-</repeat-count>
--><!--任务触发间隔(毫秒)--><!--
<repeat-interval></repeat-interval>
--><!--每3秒中执行一次--><!--
</simple>-->
<cron>
<name>JobTrigger</name>
<group>JobTriggers</group>
<description>cron trigger</description>
<job-name>SimpleJob</job-name>
<job-group>sampleGroup</job-group>
<!--<start-time>--26T22::+:</start-time>-->
<cron-expression>0/2 * * * * ?</cron-expression>
</cron>
</trigger>
</schedule>
</job-scheduling-data>

配置quartz.config文件(在此提醒下,配置这个文件文件中会出现红色波浪错误提示,这个不影响最终结果)

# 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 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
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

main函数中进行调用

static void Main(string[] args)
{
StdSchedulerFactory std = new StdSchedulerFactory();
IScheduler scheduler = std.GetScheduler();
scheduler.Start();
}

运行结果,每隔两秒输出语句

最新文章

  1. 总结/PSP初体验—排球计分程序1.0
  2. Yii;CodeIgniter;thinkphp学习
  3. 总结最近移动端遇到的坑(auto-size + zepto)
  4. C#中在AxWebBrowser控件注入JS脚本的方法
  5. Bootstrap_导航
  6. 10分钟制作UWP汉堡菜单
  7. 将Asp.Net页面输出到EXCEL里去
  8. 微软控制台带来的PHP控制台输出问题
  9. smarty对网页性能的影响--开启opcache
  10. Remove Element 解答
  11. Linux常见命令整理(一)
  12. web开发相关
  13. SQLite:自学笔记(1)——快速入门
  14. install svn server in Ubuntu
  15. 关于Maven打包Java Web项目以及热部署插件Jrebel的使用
  16. tomcat启动后,页面浏览时报错 Unable to compile class for JSP的解决方案【原创】
  17. MySQL学习笔记:时间差
  18. Axure RP Extension for Chrome经常损坏
  19. Eclipse环境配置
  20. div+css 让一个小div在另一个大div里面 垂直居中

热门文章

  1. (转)简单介绍java Enumeration
  2. (转)java.util.Scanner应用详解
  3. 【css】css3属性
  4. Java 枚举7常见种用法(转)
  5. year:2017 month:08 day:03
  6. hdu 6059---Kanade&#39;s trio(字典树)
  7. Canvas 实现灵动的红鲤鱼动画(上)
  8. Spring源码解析——如何阅读源码
  9. Java 架构师之路(1)
  10. 教你如何反编译app,拿到加密方式