打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Quartz.net使用总结 - 路漫漫其修远兮 - 博客园

Quartz.net使用总结

CONFIG中的设置:
 1 <!--关于Quartz.NET的配置-->
2     <configSections>
3         <section name="quartz" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
4         <sectionGroup name="common">
5             <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging"/>
6         </sectionGroup>
7     </configSections>
8     <common>
9         <logging>
10             <factoryAdapter type="Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter, Common.Logging">
11                 <arg key="showLogName" value="true"/>
12                 <arg key="showDataTime" value="true"/>
13                 <arg key="level" value="DEBUG"/>
14                 <arg key="dateTimeFormat" value="HH:mm:ss:fff"/>
15             </factoryAdapter>
16         </logging>
17     </common>
18     <quartz>
19         <add key="quartz.scheduler.instanceName" value="ExampleDefaultQuartzScheduler"/>
20         <add key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz"/>
21         <add key="quartz.threadPool.threadCount" value="10"/>
22         <add key="quartz.threadPool.threadPriority" value="2"/>
23         <add key="quartz.jobStore.misfireThreshold" value="60000"/>
24         <add key="quartz.jobStore.type" value="Quartz.Simpl.RAMJobStore, Quartz"/>
25     </quartz>
26     <!--关于Quartz.NET的配置结束-->
另外,还可以增加一个配置项,这里的意思是没10秒钟执行一次
<add key="cronExpr" value="0/10 * * * * ?"/>
当然也可以在调用任务时再行设置,设置说明:
1. Seconds 秒
2. Minutes 分钟
3. Hours 小时
4. Day-of-Month 月中的天
5. Month 月
6. Day-of-Week 周中的天
7. Year (optional field) 年(可选的域)

执行任务的类:
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4 using Common.Logging;
5 using Quartz;
6
7 namespace Common
8 {
9     public class DBJob : IJob
10     {
11         #region IJob 成员
12         public DBJob()
13         {
14             //
15             // TODO: 在此处添加构造函数逻辑
16             //
17         }
18         public void Execute(JobExecutionContext context)
19         {
20             try
21             {
22                 string sql = "INSERT INTO test(nowDate) VALUES ('" + DateTime.Now.ToLocalTime() + "') ";
23                 Common.SqlHelper.ExecuteSql(sql);
24             }
25             catch (Exception e)
26             {
27                 JobExecutionException e2 = new JobExecutionException(e);
28                 e2.RefireImmediately = true;
29                 throw e2;
30             }
31         }
32
33         #endregion
34     }
35 }

Global.asax中调用

1 void Application_Start(object sender, EventArgs e)
2     {
3         // 在应用程序启动时运行的代码
4         //Common.CronTriggerRunner lt = new Common.CronTriggerRunner();
5         //lt.Run();
6         Quartz.ISchedulerFactory sf = new Quartz.Impl.StdSchedulerFactory();
7         sched = sf.GetScheduler();
8         Quartz.JobDetail job = new Quartz.JobDetail("job1", "group1", typeof(Common.DBJob));
9
10         string cronExpr = ConfigurationManager.AppSettings["cronExpr"];
11         Quartz.CronTrigger trigger = new Quartz.CronTrigger("trigger1", "group1", "job1", "group1", cronExpr);
12         sched.AddJob(job, true);
13         DateTime ft = sched.ScheduleJob(trigger);
14         sched.Start();
15     }
16    
17     void Application_End(object sender, EventArgs e)
18     {
19         //  在应用程序关闭时运行的代码
20         sched.Shutdown(true);
21     }

最后
代码部分完毕之后,要重启WWW服务,并且访问站点内任一ASPX页面,任务方可执行!
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
quartz集群分布式(并发)部署解决方案
Quartz框架(二)
Quartz quartz.properties配置文件
Quartz使用(一)-入门使用
作业调度框架 Quartz 学习笔记(二)
Quartz之JobDataMap,PersistJobDataAfterExecution,DisallowConcurrentExecution
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服