我正在使用Quartz库添加cron定时器到我的应用程序。
CronTrigger trigger = newTrigger()
.withIdentity("trigger1", "group1")
.withSchedule(cronSchedule("0/20 * * * * ?")) // cron string
.build();
附言。或者我所能做的就是为每小时创建一个单独的触发器,然后将所有这样的触发器(具有相同的作业)添加到调度程序中,如
myScheduler.scheduleJob(sameJob, trigger11am);
myScheduler.scheduleJob(sameJob, trigger12am);
myScheduler.scheduleJob(sameJob, trigger3pm);
myScheduler.scheduleJob(sameJob, trigger7pm);
是的,这是可以做到的:
// setup CronTrigger
// misfire policies (when app was down at scheduled time):
// https://www.nurkiewicz.com/2012/04/quartz-scheduler-misfire-instructions.html
Trigger trigger = TriggerBuilder
.newTrigger()
.withIdentity("triggerName", "myGroupName")
.withSchedule(
// at 11:30am, 12:30am, 03:30pm, 06:30pm, etc every day, including Sunday, Monday, days-off
CronScheduleBuilder.cronSchedule("0 30 11,12,15,18,21,23 * * ?")
// don't run missed jobs (missed when app was down)
.withMisfireHandlingInstructionDoNothing())
.build();
下面的官方例子证实了这一点--参见“每周三下午2:10和2:44开火”。
我有一个工作,需要执行两次每天在不同的时间。例如10:00和15:30。我怎样才能做到这一点?
我明白了如何生成一个cron表达式来在每天的特定时间运行,现在我已经在中午和15:30 mon-sat运行了。不过,我希望是在周六15:00而不是15:30。有什么方法可以把它写成cron表达式吗?或者我需要为周六做一个单独的触发?
现在我每天下午3点运行我的cron作业 但是我想一天运行两次cron作业。上午10点30分和下午2点30分 我相信此命令将在上午 10:30 运行。我应该如何在下午 2:30 运行它?
我想基于cron表达式运行一个作业,但它应该在rest调用后从DB中查找cron表达式。 一旦rest api被命中,它应该等待cron表达式,我们可以从数据库或任何方法获得它,然后它应该在指定的时间启动。 它的工作方式与普通的方法调用类似。
如何使用cron表达式实现我想要的内容? 谁能解释一下石英晶体的这种行为? 提前谢了。
如何将Airflow dag配置为每天在指定时间执行,无论发生什么,就像crons一样。 我知道使用 TimeSensor 可以获得类似的行为,但在这种情况下,这取决于传感器任务,并且可能与 dag 执行时间冲突。 示例:对于传感器方法,如果我让传感器在0小时15分钟运行,但如果dag在稍后执行,则我的任务会延迟,因此即使对于传感器方法,我也需要确保Dag在正确的时间执行。 那么如何确保Dag在指