Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Quartz.NET Start现在无法与WithDailyTimeIntervalsSchedule一起工作_C#_Quartz.net - Fatal编程技术网

C# Quartz.NET Start现在无法与WithDailyTimeIntervalsSchedule一起工作

C# Quartz.NET Start现在无法与WithDailyTimeIntervalsSchedule一起工作,c#,quartz.net,C#,Quartz.net,上述代码的问题在于StartNow不工作。正常运行,但仅在2小时后运行。我不能马上运行它 StartNow正在使用和SimpleSchedule而不是。使用DailyTimeIntervalsSchedule看起来像和DailyTimeIntervalsSchedule不是您需要的。如果指定开始时间为上午8点,结束时间为晚上11点,间隔时间为2小时,则作业将被安排在上午8点、上午10点、下午12点、下午2点、下午4点、下午6点、晚上8点和晚上10点运行 作为解决方案,您可以创建两个触发器: 如果

上述代码的问题在于
StartNow
不工作。正常运行,但仅在2小时后运行。我不能马上运行它


StartNow
正在使用
和SimpleSchedule
而不是
。使用DailyTimeIntervalsSchedule
看起来像
和DailyTimeIntervalsSchedule
不是您需要的。如果指定开始时间为上午8点,结束时间为晚上11点,间隔时间为2小时,则作业将被安排在上午8点、上午10点、下午12点、下午2点、下午4点、下午6点、晚上8点和晚上10点运行

作为解决方案,您可以创建两个触发器:

  • 如果当前时间在上午8点到晚上11点之间,请创建立即触发、现在触发+2小时、现在触发+4小时并在今天晚上11点停止的触发器
  • 第二个触发器将在上午8点、上午10点等从下一个上午8点(今天或明天)开始触发

  • 看起来,DailyTimeIntervalsSchedule的
    不是您所需要的。如果指定开始时间为上午8点,结束时间为晚上11点,间隔时间为2小时,则作业将被安排在上午8点、上午10点、下午12点、下午2点、下午4点、下午6点、晚上8点和晚上10点运行

    作为解决方案,您可以创建两个触发器:

  • 如果当前时间在上午8点到晚上11点之间,请创建立即触发、现在触发+2小时、现在触发+4小时并在今天晚上11点停止的触发器
  • 第二个触发器将在上午8点、上午10点等从下一个上午8点(今天或明天)开始触发

  • 是的,这是临时解决方案。我只有一个作业/触发器带有
    和impleSchedule
    ,我检查它是否在8-11之间。是的,这是临时解决方案。我只有一个作业/触发器带有
    和impleSchedule
    ,我检查它是否在8-11之间。
                ITrigger trigger = TriggerBuilder.Create()
                                    .WithIdentity("trigger1", "group1")
                                    .WithDailyTimeIntervalSchedule(x => x
                                        .WithIntervalInHours(2)
                                        .OnEveryDay()
                                        .StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(8, 0))
                                        .EndingDailyAt(TimeOfDay.HourAndMinuteOfDay(23, 00)))
                                    .StartNow()
                                    .Build();