【问题标题】:Using Quartz CronScheduleBuilder No Job Executed使用 Quartz CronScheduleBuilder 未执行作业
【发布时间】:2016-03-16 03:55:43
【问题描述】:

此触发器应在每天晚上 9:00 触发,但该作业永远不会运行。如果我使用 .WithSimpleSchedule() 作业将运行,但我需要使用 CronSchedule,我是否设置错误?

    static void Main(string[] args)
    {
        Start();
    }

    public static void Start()
    {
        var scheduler = StdSchedulerFactory.GetDefaultScheduler();
        scheduler.Start();

        var job = JobBuilder.Create<EmailJob>().WithIdentity("Test").Build();

        var trigger = TriggerBuilder.Create()
            .WithIdentity("Test")
            .StartNow()
            .WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(9, 00))
            .Build();

        scheduler.ScheduleJob(job, trigger);
    }

我的工作不会被解雇。

public class EmailJob : IJob
{
    public EmailJob()
    {

    }

    public void Execute(IJobExecutionContext context)
    {
        Console.WriteLine("Method Called");
    }
}

【问题讨论】:

    标签: c# quartz-scheduler jobs


    【解决方案1】:

    我不确定为什么 CronScheduleBuilder 不起作用,但使用 .WithCronSchedule 可以。这是一个工作触发器,将在早上 6:30 触发。我使用http://www.cronmaker.com/ 来创建 cron 字符串。

            var trigger = TriggerBuilder.Create()
                .WithIdentity("Test")
                .StartNow()
                .WithCronSchedule("0 30 6 1/1 * ? *")
                .Build();
    

    【讨论】:

    • 您是否设法找到它无法与WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(9, 00)) 一起使用的原因
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-26
    • 2017-04-20
    • 1970-01-01
    • 1970-01-01
    • 2010-12-28
    相关资源
    最近更新 更多