簡體   English   中英

Windows Server 2008 R2中未運行quartz.net作業

[英]quartz.net job not running in windows server 2008 R2

我在c#.net中創建了一個Windows服務,它使用quartz.net每小時執行一次工作。 它在本地工作,沒有任何問題。 但是,當我將其安裝在服務器2008 R2上時,它不起作用。 它啟動並且沒有錯誤。 我使用了事件日志,但我的Unrestood類JobScheduler可以正常工作,但作業不會觸發。 請幫我。

     public class JobScheduler
{
    public static void Start()
    {
        try
        {
            ISchedulerFactory schedFact = new StdSchedulerFactory();
            IScheduler scheduler = schedFact.GetScheduler();
            scheduler.Start();
            IJobDetail job = JobBuilder.Create<CheckJob>().WithIdentity("MyJob", "group1").Build();

            ITrigger trigger = TriggerBuilder.Create().WithIdentity("myTrigger", "group1").StartNow().WithSimpleSchedule(s => s.WithIntervalInHours(1).RepeatForever()).Build();



            scheduler.ScheduleJob(job, trigger);
            EventLogging.Log("jobscheduling ok");


        }
        catch (Exception ex)
        {
            EventLogging.Log("jobscheduler:"+ex.Message);

        }
    }
}

根據我使用石英的經驗,您可以查看免費積分,

  1. 檢查exe屬性並確保它未被阻止

  2. 檢查正確的連接字符串

  3. 檢查所需文件是否在正確的路徑中

  4. 嘗試編寫日志/啟用日志記錄以查看發生了什么問題

您有一個可變范圍問題,因為您沒有在Start方法之外保留對調度程序的引用。 為了使調度程序在Start方法完成運行后繼續運行,需要將調度程序變量定義為靜態變量,而不是方法變量。

您可以使用軟件包下載隨附的quartz.server。

https://github.com/quartznet/quartznet

對框架感到滿意后,請創建自己的框架。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM