【问题标题】:Quartz.Net ITrigger Showing wrong HourQuartz.Net ITrigger 显示错误的时间
【发布时间】:2017-12-01 01:15:08
【问题描述】:

我正在与 Quartz.net 合作,试图在周二至周六上午 8:30 触发事件。

我用下面的代码来定义触发时间

IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler();
        IJobDetail job = JobBuilder.Create<DailyAutomationProcess>().Build();
        ITrigger trigger = TriggerBuilder.Create().WithCronSchedule("0 30 8 ? * TUE,WED,THU,FRI,SAT *").Build();
        scheduler.ScheduleJob(job, trigger);
        scheduler.Start();

“0 30 8 ? * TUE,WED,THU,FRI,SAT *”是从http://www.cronmaker.com/ 生成的。

但由于某种原因,在运行时,当我检查 ITrigger 触发器时,它显示错误的时间。 它显示“nextFireTime:12/01/2017 16:30:00 +00:00}”

时间似乎总是错的。

如果下一个发射时间是 16:30,那么发射日期应该是 11/30(今天),因为现在还不是 16:30。

我对此感到困惑,任何建议都可以提供帮助。

提前致谢。

编辑:请确认我的 Quartz.Net 是 2.6.1

编辑:以下是我的Application_Start

public class MvcApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        ScheduledTasks.DailyAutomationTrigger();
        AreaRegistration.RegisterAllAreas();
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);
    }
}

【问题讨论】:

  • 您使用的是哪个版本的 Quartz?貌似是Quartz.NET 2.0.1的bug,不过2.1.0已经修复了,看看Quartz.net

标签: c# quartz-scheduler


【解决方案1】:

我完全忘记了时间是下次触发时间显示的 UTC 时间。 现在事件触发得很好。 有时需要重建解决方案以确保它有一个新的触发时间表

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-14
    • 2016-04-22
    • 2019-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多