Airflow计划在该月的15日之前的星期一运行任务

问题描述 投票:0回答:1

是否可以安排气流DAG在每个月的15号之前的星期一的特定时间运行?我认为这个cron字符串可能会这样做,但我不确定我是否理解正确

0 10 8-14 * MON

所以我认为这应该在每个星期一的10点到每个月的8号和14号之间运行。因为在8日和14日之间只能有一个星期一,所以每月只运行一次,这将是该月15日之前的星期一。

那是对的吗?

cron airflow airflow-scheduler
1个回答
2
投票

croniter模块(Airflow用于执行日期/时间计算)supports the hash symbol for the day-of-week field,它允许您安排,我相信将工作,每个月的第二个星期一。

例如,"30 7 * * 1#2"说要在每个月的第二个星期一早上7:30运行。使用此代码进行测试:

from croniter import croniter 
from datetime import datetime 
cron = croniter("30 7 * * 1#2") 
for i in range(10):
    print(cron.get_next(datetime))

收益率:

datetime.datetime(2018, 10, 8, 7, 30)
datetime.datetime(2018, 11, 12, 7, 30)
datetime.datetime(2018, 12, 10, 7, 30)
datetime.datetime(2019, 1, 14, 7, 30)
datetime.datetime(2019, 2, 11, 7, 30)
datetime.datetime(2019, 3, 11, 7, 30)
datetime.datetime(2019, 4, 8, 7, 30)
datetime.datetime(2019, 5, 13, 7, 30)
datetime.datetime(2019, 6, 10, 7, 30)
datetime.datetime(2019, 7, 8, 7, 30)
© www.soinside.com 2019 - 2024. All rights reserved.