每天午夜12点的Cron定时器调度程序

4

我在MVC应用程序中实现了一个时间表,每天午夜运行作业。这是代码。

    IScheduler sched = container.Resolve<IScheduler>();
    sched.JobFactory = new AutofacJobFactory(container);
    sched.Start();

    IJobDetail job = JobBuilder.Create<ProcessInvoiceJob>()
           .WithIdentity("job1", "group1")
           .Build();

    ITrigger trigger = TriggerBuilder.Create()
        .WithIdentity("trigger1", "group1")
        .WithCronSchedule("0 0 * * * ?")
        .Build();


    sched.ScheduleJob(job, trigger);

我读了一些关于it技术的文章,其中提到12点的cron表达式是“0 0 * * * ?”。

例如:http://blog.bobcravens.com/2009/10/an-event-based-cron-scheduled-job-in-c/

问题是我的任务每小时都会执行...如何修复?

1个回答

6
你要求它每小时执行,只在午夜执行的正确CRON值是0 0 0 * * ? 编辑:你所使用的资源来自2009年,我可以理解为什么会出错,参考当前CRON为“秒 分钟 小时 月中日期 月份 周中日期 年(可选字段)”

感谢您的回复,XerShade。我会按照您的建议更改表达式,并将项目发布到服务器上。已经过去了几个小时,似乎计划每小时运行一次的进程已经停止了。我会在一天后告诉您最新的状态。 - weeraa
1
哇!!!这个很好用。谢谢。但我想知道,为什么大多数网站都显示12点午夜的错误表达式。链接也显示了一个错误的表达式。 - weeraa
不确定,但正如我在答案中所说的,正确的格式是“秒,分钟,小时,日期,月份,星期几,年份(可选)”。 - XerShade

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接