LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

Quartz.NET網(wǎng)站定時任務(wù) 每周凌晨1點(diǎn)更新無法執(zhí)行,如何解決?

admin
2021年3月8日 12:26 本文熱度 4212
Global.asax 代碼:
IScheduler sched;
        private void Application_Start(object sender, EventArgs e)
        {
            ISchedulerFactory sf = new StdSchedulerFactory(); 
            IScheduler sched = sf.GetScheduler();
            IJobDetail job = JobBuilder.Create<TimingTask>().WithIdentity("sport_quan_job""sport_quan_group").Build();
            ITrigger trigger = 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");
        }
 
        private void Application_End(object sender, EventArgs e)
        {
            LogHelper.WriteLog("Application_End""Application_End");
            // 在應(yīng)用程序關(guān)閉時運(yùn)行的代碼 
            if (sched != null) { sched.Shutdown(true); }
        }

TimingTask.cs 實(shí)現(xiàn)接口IJob:
        public void Execute(IJobExecutionContext context)
        {
            try
            {
                if (System.DateTime.Now.Hour == 1)
                {
                    DataSet dsArrange = new stadium_arrange().SelectArrangeList();
                    long result = ArrangeHelper.InsertScheduleOfField(dsArrange);
                    if (result > 0)
                    {
                        LogHelper.WriteLog("更新排班""定時更新排班成功!");
                    }
                    else
                    {
                        LogHelper.WriteLog("更新排班""暫無更新!");
                    }
                }
                else
                {
                    LogHelper.WriteLog("定時任務(wù)""僅執(zhí)行定時任務(wù),不作更新排班操作!");
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog("程序異常", ex.Message);
                JobExecutionException e2 = new JobExecutionException(ex);
                // this job will refire immediately
                e2.RefireImmediately = true;
                throw e2;
            }
        }

web.config 配置:
<!--Quartz[0 0 1 * * ?] 配置項(xiàng) 每天凌晨1點(diǎn)更新-->
    <add key="cronExpr" value="0 0 1 * * ?"/>

這兩天執(zhí)行的日志如下:

2014年9月17日_log.txt

標(biāo)題: Application_Start
內(nèi)容: Application_Start
時間: 2014/9/17 19:30:38
---------------------------------------------

標(biāo)題: Application_Start
內(nèi)容: Application_Start
時間: 2014/9/17 20:52:03
---------------------------------------------

標(biāo)題: Application_End
內(nèi)容: Application_End
時間: 2014/9/17 21:08:02
---------------------------------------------

標(biāo)題: Application_Start
內(nèi)容: Application_Start
時間: 2014/9/17 22:02:32
---------------------------------------------

標(biāo)題: Application_End
內(nèi)容: Application_End
時間: 2014/9/17 22:23:32
---------------------------------------------

2014年9月18日_log.txt

標(biāo)題: Application_Start
內(nèi)容: Application_Start
時間: 2014/9/18 4:25:39
---------------------------------------------

標(biāo)題: Application_End
內(nèi)容: Application_End
時間: 2014/9/18 4:38:39
---------------------------------------------

標(biāo)題: Application_Start
內(nèi)容: Application_Start
時間: 2014/9/18 9:05:39
---------------------------------------------

問題來了,即沒有執(zhí)行凌晨一點(diǎn)的定時任務(wù),而且中間還隔了幾個小時未記錄任務(wù)日志,求各位大神支招!!!

該文章在 2021/3/8 12:26:21 編輯過

全部評論4

admin
2021年3月8日 12:26
我的Quartz.NET 版本是最新版,貌似沒有JobDetail 和 CronTrigger ,當(dāng)網(wǎng)站白天在運(yùn)行時,也確實(shí)可以實(shí)現(xiàn),但是一到晚上長時間沒有聯(lián)機(jī)網(wǎng)站,貌似就不能執(zhí)行,連日志都沒有,所以應(yīng)該不是功能的問題吧。。。
admin
2021年3月8日 12:27
因?yàn)槟愕姆?wù)停了,就不會記錄了
每次停止后,加喚醒程序,就可以了

該評論在 2021/3/8 12:27:04 編輯過
admin
2021年3月8日 12:28
IIS問題,時間長了沒人訪問會失效,增加個 模擬點(diǎn)擊網(wǎng)站網(wǎng)頁 功能。。在一般處理程序里面寫:

該評論在 2021/3/8 12:28:34 編輯過
admin
2021年3月8日 12:30
  1. 首先不要設(shè)置iis自動回收,一般設(shè)置凌晨1-2點(diǎn)左右回收一次,當(dāng)凌晨iis回收應(yīng)用程序池的時候,會調(diào)用Application_End,執(zhí)行里面的代碼,  
  2. 重新啟動網(wǎng)站,建議定時器的代碼放在Session_Start里面,因?yàn)?nbsp; 
  3. Application_Start只有再第一個用戶訪問網(wǎng)站的時候才會觸發(fā)該方法,通常會在該方法里定義一些系統(tǒng)變量,如聊天室的在線總?cè)藬?shù)統(tǒng)計,  
  4. 歷史訪問人數(shù)統(tǒng)計的初始化等等均可在這里定義.所以第一次訪問的時候會先進(jìn)入Application_Start,  
  5. 然后再進(jìn)入Session_Start。但是以后每次訪問的時候進(jìn)入的是Session_Start  
  6. 第一個訪問網(wǎng)站的用戶會觸發(fā)該方法.     
  7.   
  8. Application_Start()  
  9.     {  
  10.       
  11.   
  12.     }  
  13. //每個用戶訪問網(wǎng)站的第一個頁面時觸發(fā);  
  14.     void Session_Start(object sender, EventArgs e)  
  15.     {  
  16.       LogHelper.WriteInfoLog("觸發(fā)Session_Start事件,準(zhǔn)備執(zhí)行定時任務(wù):" + DateTime.Now);  
  17.   
  18.       #region 定時任務(wù)  
  19.       System.Threading.Thread myTimer = new System.Threading.Thread(new System.Threading.ThreadStart(Timer_Write));  
  20.       myTimer.Start();  
  21.       #endregion  
  22.   
  23.     }  
  24. //網(wǎng)站關(guān)閉,或重啟時,會觸發(fā)該方法.  
  25.   
  26.     void Application_End(object sender, EventArgs e)  
  27.     {  
  28.       //下面的代碼是關(guān)鍵,可解決IIS應(yīng)用程序池自動回收的問題  
  29.       System.Threading.Thread.Sleep(1000);  
  30.       //觸發(fā)事件, 寫入提示信息  
  31.       LogHelper.WriteInfoLog("觸發(fā)Application_End事件,正在重新啟動網(wǎng)站:" + DateTime.Now);  
  32.       //這里設(shè)置你的web地址,可以隨便指向你的任意一個頁面甚至不存在的頁面,目的是要激發(fā)Session_Start  
  33.   
  34.       //使用您自己的URL  
  35.       string url = "你的網(wǎng)址";  
  36.       System.Net.HttpWebRequest myHttpWebRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);  
  37.       System.Net.HttpWebResponse myHttpWebResponse = (System.Net.HttpWebResponse)myHttpWebRequest.GetResponse();  
  38.       System.IO.Stream receiveStream = myHttpWebResponse.GetResponseStream();//得到回寫的字節(jié)流  
  39.   
  40.     }  


該評論在 2021/3/8 12:30:03 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊、財務(wù)費(fèi)用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
日本中文字幕在线看 | 在线精品免费看国产 | 五月丁香国产精品 | 亚洲欧美中文字幕在线一区 | 中文字幕偷乱视频 | 在线观看免费不打码 |