繁体   English   中英

Quartz C#每小时运行一次

[英]Quartz C# Run every hour

我需要通过每小时开始一个小时来触发工作。 例如,它从10:00 pm开始并在11:00 pm,00:00、01:00 am,02:00 am(依此类推)运行。

我已经尝试了两种选择,但未触发作业。

//second try

    DateTime now = DateTime.Now;
            DateTime dt = new DateTime(now.Year, now.Month, now.Day, Hour, Minutes 0);
            trigger = TriggerBuilder.Create()
            .WithIdentity("job1", "JobExample")
            .WithSimpleSchedule(x => x
                .WithIntervalInHours(1))
             .StartAt(new DateTimeOffset(dt))

//first try

        trigger = TriggerBuilder.Create()
        .WithIdentity("job1", "JobExample")
        .WithDailyTimeIntervalSchedule( x => x.StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(Hour, Minutes))
         .WithIntervalInHours(1))

我想你错过了

.RepeatForever()

trigger = TriggerBuilder.Create()
.WithIdentity("trigger8") // because group is not specified, "trigger8" will be in the default group
.StartAt(DateBuilder.EvenHourDate(null)) // get the next even-hour (minutes and seconds zero ("00:00"))
.WithSimpleSchedule(x => x
    .WithIntervalInHours(2)
    .RepeatForever())
// note that in this example, 'forJob(..)' is not called 
//  - which is valid if the trigger is passed to the scheduler along with the job  
.Build();

scheduler.scheduleJob(trigger, job);

simpletriggers

尝试使用chron表达式。

trigger = TriggerBuilder.Create()
    .WithIdentity("trigger3", "group1")
    .WithCronSchedule("0 0 0,1,2,3,4,5,6,7,8,9,10,11,22,23 ? * * *")
    .ForJob("myJob", "group1")
    .Build();

Cronmaker Freeformatter cron表达式

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM