在asp.net中开启后台任务,Quartz.NET说明

开始后台任务一般是Task.Run()

查在asp.net时进行可能会被回收,导致Task中断。在Asp,net中有专门的后台任务函数:

  System.Web.Hosting.HostingEnvironment.QueueBackgroundWorkItem(clt => LongRunningMethod());

不同之处在于IIS会监测QueueBackgroundWorkItem的任务是否执行完毕,若未完成则可以等待他完成后再回收

 

或通过quzrtz.net执行:

(15条消息) Quartz.NET 2.x介绍_说那么多干吗的博客-CSDN博客

Quartz.NET实现作业调度 - 张果 - 博客园 (cnblogs.com)

复制代码
/*
由7段构成:秒 分 时 日 月 星期 年(可选)

"-" :表示范围  MON-WED表示星期一到星期三
"," :表示列举 MON,WEB表示星期一和星期三
"*" :表是“每”,每月,每天,每周,每年等
"/" :表示增量:0/15(处于分钟段里面) 每15分钟,在0分以后开始,3/20 每20分钟,从3分钟以后开始
"?" :只能出现在日,星期段里面,表示不指定具体的值
"L" :只能出现在日,星期段里面,是Last的缩写,一个月的最后一天,一个星期的最后一天(星期六)
"W" :表示工作日,距离给定值最近的工作日
"#" :表示一个月的第几个星期几,例如:"6#3"表示每个月的第三个星期五(1=SUN...6=FRI,7=SAT)

如果Minutes的数值是 '0/15' ,表示从0开始每15分钟执行

如果Minutes的数值是 '3/20' ,表示从3开始每20分钟执行,也就是‘3/23/43’
*/

官方示例:

表达式解释
0 0 12 * * ? 每天中午12点触发
0 15 10 ? * * 每天上午10:15触发
0 15 10 * * ? 每天上午10:15触发
0 15 10 * * ? * 每天上午10:15触发
0 15 10 * * ? 2005 2005年的每天上午10:15触发
0 * 14 * * ? 在每天下午2点到下午2:59期间的每1分钟触发
0 0/5 14 * * ? 在每天下午2点到下午2:55期间的每5分钟触发
0 0/5 14,18 * * ? 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
0 0-5 14 * * ? 在每天下午2点到下午2:05期间的每1分钟触发
0 10,44 14 ? 3 WED 每年三月的星期三的下午2:10和2:44触发
0 15 10 ? * MON-FRI 周一至周五的上午10:15触发
0 15 10 15 * ? 每月15日上午10:15触发
0 15 10 L * ? 每月最后一日的上午10:15触发
0 15 10 L-2 * ? 每个月的第二天到最后一天的上午10:15触发
0 15 10 ? * 6L 每月的最后一个星期五上午10:15触发
0 15 10 ? * 6L 每个月最后一个星期五上午10时15分触发
0 15 10 ? * 6L 2002-2005 2002年至2005年的每月的最后一个星期五上午10:15触发
0 15 10 ? * 6#3 每月的第三个星期五上午10:15触发
0 0 12 1/5 * ? 每月每隔5天下午12点(中午)触发, 从每月的第一天开始
0 11 11 11 11 ? 每11月11日上午11时11分触发

posted @ 2022-08-18 10:28  81  阅读(206)  评论(0编辑  收藏  举报