问题描述
Global.asax代码ISchedulersched;privatevoidApplication_Start(objectsender,EventArgse){ISchedulerFactorysf=newStdSchedulerFactory();ISchedulersched=sf.GetScheduler();IJobDetailjob=JobBuilder.Create<TimingTask>().WithIdentity("sport_quan_job","sport_quan_group").Build();ITriggertrigger=TriggerBuilder.Create().WithIdentity("sport_quan_job","sport_quan_group").WithCronSchedule(PubConfig.CronExpr).Build();sched.ScheduleJob(job,trigger);sched.Start();LogHelper.WriteLog("Application_Start","Application_Start");}privatevoidApplication_End(objectsender,EventArgse){LogHelper.WriteLog("Application_End","Application_End");//在应用程序关闭时运行的代码if(sched!=null){sched.Shutdown(true);}}
TimingTask.cs实现接口IJobpublicvoidExecute(IJobExecutionContextcontext){try{if(System.DateTime.Now.Hour==1){DataSetdsArrange=newstadium_arrange().SelectArrangeList();longresult=ArrangeHelper.InsertScheduleOfField(dsArrange);if(result>0){LogHelper.WriteLog("更新排班","定时更新排班成功!");}else{LogHelper.WriteLog("更新排班","暂无更新!");}}else{LogHelper.WriteLog("定时任务","仅执行定时任务,不作更新排班操作!");}}catch(Exceptionex){LogHelper.WriteLog("程序异常",ex.Message);JobExecutionExceptione2=newJobExecutionException(ex);//thisjobwillrefireimmediatelye2.RefireImmediately=true;throwe2;}}
web.config配置<!--Quartz[001**?]配置项每天凌晨1点更新--><addkey="cronExpr"value="001**?"/>这两天执行的日志如下:2014年9月17日_log.txt标题:Application_Start内容:Application_Start时间:2014/9/1719:30:38---------------------------------------------标题:Application_Start内容:Application_Start时间:2014/9/1720:52:03---------------------------------------------标题:Application_End内容:Application_End时间:2014/9/1721:08:02---------------------------------------------标题:Application_Start内容:Application_Start时间:2014/9/1722:02:32---------------------------------------------标题:Application_End内容:Application_End时间:2014/9/1722:23:32---------------------------------------------2014年9月18日_log.txt标题:Application_Start内容:Application_Start时间:2014/9/184:25:39---------------------------------------------标题:Application_End内容:Application_End时间:2014/9/184:38:39---------------------------------------------标题:Application_Start内容:Application_Start时间:2014/9/189:05:39---------------------------------------------问题来了,即没有执行凌晨一点的定时任务,而且中间还隔了几个小时未记录任务日志,求各位大神支招!!!
解决方案
解决方案二:
参考
解决方案三:
引用1楼wangnaisheng的回复:
参考
我的Quartz.NET版本是最新版,貌似没有JobDetail和CronTrigger,当网站白天在运行时,也确实可以实现,但是一到晚上长时间没有联机网站,貌似就不能执行,连日志都没有,所以应该不是功能的问题吧。。。
解决方案四:
因为你的服务停了,就不会记录了每次停止后,加唤醒程序,就可以了
解决方案五:
iis问题,时间长了没人访问会失效,增加个模拟点击网站网页功能。。在一般处理程序里面写