Quartz.net 的简单使用,创建定时任务
2015-08-21 11:11
423 查看
ISchedulerFactory sf = new StdSchedulerFactory(); sched = sf.GetScheduler(); JobDetail job = new JobDetail("job1", "group1", typeof(MyJob)); string cronExpr = System.Configuration.ConfigurationManager.AppSettings["cronExpr"]; //"*/1 * * * * ?"; CronTrigger trigger = new CronTrigger("trigger1", "group1", "job1", "group1", cronExpr); sched.ScheduleJob(job, trigger); sched.Start();
自定义一个Job类用来执行定时的方法(引用相应的DLL)
public class MyJob : IJob { public void Execute(JobExecutionContext context) { using (StreamWriter write = new StreamWriter("D:/test.txt", true)) { write.Write(DateTime.Now.ToString() + " " + "Execute..."); } } }
执行的时间可以在配置文件进行配置,只需要按照相应的格式就行
<appSettings> <!--每月21日凌晨1点执行--> <add key="cronExpr1" value="0 06 10 21 * ?"/> <!--<add key="cronExpr1" value="*/1 * * * * ?"/>--> </appSettings>
附:配置文件格式
Cron表达式范例: 每隔5秒执行一次:*/5 * * * * ? 每隔1分钟执行一次:0 */1 * * * ? 每天23点执行一次:0 0 23 * * ? 每天凌晨1点执行一次:0 0 1 * * ? 每月1号凌晨1点执行一次:0 0 1 1 * ? 每月最后一天23点执行一次:0 0 23 L * ? 每周星期天凌晨1点实行一次:0 0 1 ? * L 在26分、29分、33分执行一次:0 26,29,33 * * * ? 每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ? Cron表达式(在Quartz.net里面会用到) 由7段构成:秒 分 时 日 月 星期 年(可选) "-" :表示范围 MON-WED表示星期一到星期三 "," :表示列举 MON,WEB表示星期一和星期三 "*" :表是“每”,每月,每天,每周,每年等 对于星期里面,SUN=1 SAT=6 "/" :表示增量:0/15(处于分钟段里面) 每15分钟,在0分以后开始,3/20 每20分钟,从3分钟以后开始 "?" :只能出现在日,星期段里面,表示不指定具体的值 "L" :只能出现在日,星期段里面,是Last的缩写,一个月的最后一天,一个星期的最后一天(星期六) "W" :表示工作日,距离给定值最近的工作日 "#" :表示一个月的第几个星期几,例如:"6#3"表示每个月的第三个星期五(1=SUN...6=FRI,7=SAT) 示例: "0 0/5 * * * ?" :每5分钟触发一次,从0秒以后开始 "10 0/5 * * * ?" :每5分钟触发一次,从10秒以后开始。(10:00:10am, 10:05:10am) "0 30 10-13 ? * WED,FRI" :表示10:30,11:30,12:30,13:30,每一个星期三和星期五执行 "0 0/30 8-9 5,20 * ?" :表示每个月5号和20号 8:00, 8:30, 9:00, 9:30执行
相关文章推荐
- 正则表达式1
- Angularjs中作用域与模板之间的关系
- 为什么8位有符号数的范围为“-128 — +127”?(转载加补充)
- SQL-Oracle异常--java.sql.SQLDataException: ORA-01861: 文字与格式字符串不匹配
- 字符串按位置复制,并统计新字符串长度
- Quartz2d从易到难全解析---贝塞尔曲线的绘制、上下文栈的概念、矩阵转换的使用
- linux下使用crontab定时备份MYSQL数据库的方法
- 多线程的同步和互斥简介
- C/C++中的常量指针与指针常量(转)
- Android Handler Demo
- CSS基础知识学习笔记
- 修改SQL Server 2005 数据库文件名字
- android画图类---Canvas浅谈
- 八皇后
- ThinkPHP微信开发实例——JSSDK图像接口上传下载并将图片流写入本地
- UNIX环境高级编程之第5章:标准I/O库-习题
- UpdateParameterUtils
- printf函数的 %s 与 %c
- Docker 学习笔记(一) docker特点及应用场景
- Android 圆形、圆角图片ImageView