【问题标题】:c# quartz.net not triggers alwaysc#quartz.net 并不总是触发
【发布时间】:2017-12-11 23:48:26
【问题描述】:

我有一份工作,每 30 分钟触发一次。当工作触发时,我已经设置了测试表和记录信息。例如:

2015-11-14 03:00:00.000
2015-11-14 03:30:00.000
2015-11-14 04:00:00.000
2015-11-14 04:30:00.000
2015-11-14 05:00:00.000
2015-11-14 05:30:00.000
2015-11-14 06:00:00.003
2015-11-14 06:30:00.000 

但这已经是我第二次注意到该工作停止工作而不是解雇。现在已经是下午 12:00,最后一个工作在 06:30:00 被解雇。解决方案是再次发布应用程序,并覆盖旧的 bin ......为什么会发生这种情况,是石英错误还是服务器? PS我正在使用asp.net mvc,这是代码:

   ITrigger trigger = TriggerBuilder.Create()
                   .WithDailyTimeIntervalSchedule
                     (s =>
                        s.WithIntervalInMinutes(30)
                        .OnEveryDay()
                       .StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(0, 0))
                     )
                   .Build();

               scheduler.ScheduleJob(job, trigger);

此外,当作业没有被解雇时,服务器没有关闭。

【问题讨论】:

    标签: c# quartz-scheduler


    【解决方案1】:

    问题是当服务器不活动(不接收请求)时,服务器正在汇集您的网络应用程序的资源,您需要设置您的服务器:

    http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-application-initialization

    或者让你的网站一直做一些事情以避免池,我做了一个每两分钟运行一次的工作,它加载一个只有一个短文本的页面,这是我的代码:

    WebClient webClient = new WebClient();
            var stream = webClient.OpenRead("http://example.com/");
    
    
            var client = new WebClient();
            var text = client.DownloadString("http://example.com/");
    
            WebRequest request = WebRequest.Create("http://http://example.com/");
            //Get the response
            WebResponse response = request.GetResponse();
            //Read the stream from the response
            StreamReader reader = new StreamReader(response.GetResponseStream());
    

    【讨论】:

      猜你喜欢
      • 2016-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多