代码之家  ›  专栏  ›  技术社区  ›  Dan fatihk

将任务安排在本月15日之前的星期一运行

  •  0
  • Dan fatihk  · 技术社区  · 7 年前

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

    0 10 8-14 * MON
    

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

    对吗?

    1 回复  |  直到 7 年前
        1
  •  9
  •   Dan fatihk    7 年前

    这个 croniter 模块(气流用于执行日期/时间计算) supports the hash symbol for the day-of-week field

    例如, "30 7 * * 1#2" 每个月第二个星期一早上七点半跑步。使用此代码进行测试:

    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)