Модуль croniter
(который Airflow использует для вычисления даты / времени выполнения) поддерживает символ хеш-функции для поля дня недели , что позволит вам планировать, что, как я считаю, будет работать Второй понедельник каждого месяца.
Например, "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)