使用Quartz CronScheduleBuilder没有执行任务

时间:2016-03-16 03:55:43

标签: c# quartz-scheduler jobs

此触发器应每天晚上9点触发,但作业永远不会运行。如果我使用.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");
    }
}

1 个答案:

答案 0 :(得分:0)

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

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