Расписание воздушного потока - задача, выполняемая в понедельник до 15 числа месяца. - PullRequest
0 голосов
/ 06 сентября 2018

Можно ли запланировать запуск DAG с воздушным потоком в определенное время в понедельник непосредственно до 15 числа каждого месяца?Я думаю, что эта строка cron могла бы сделать это, но я не уверен, что правильно понял

0 10 8-14 * MON

Так что я думаю, что это должно произойти в 10:00 в понедельник только между 8 и 14каждый месяц.Поскольку между 8-м и 14-м может быть только один понедельник, он должен выполняться только один раз в месяц, и это будет понедельник, предшествующий 15-му числу месяца.

Это правильно?

1 Ответ

0 голосов
/ 13 сентября 2018

Модуль 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...