Я уже некоторое время оцениваю воздушный поток, и мне действительно нравятся многие функции.Сейчас я пытаюсь показать, где я заменяю существующие задания cron.
Я борюсь с умственной гимнастикой, необходимой для перехода между cron, где задание выполняется по расписанию, к потоку воздуха, где указана спецификация cron.для интервала и фактического времени выполнения задания не указывается, но выводится из этого (т. е. его выполнение после интервала).
Так, например, у меня есть задание cron, которое выполняется каждую ночь в 22:30,Его задача - завершить обработку всех данных, поступивших в тот день.
Звучит просто, спецификация cron - "30 22 * * 1-5" (поэтому задача выполняется только в будние дни).И я передаю {{ds}} в качестве параметра для моей задачи (скрипт оболочки bash).
Наивно я использовал спецификацию в потоке воздуха и, конечно, я не получаю ожидаемых результатов.Даг запускается в конце периода, поэтому я не запускаю выполнение в понедельник, а для выполнения во вторник {{ds}} установлено значение понедельник.
Я могу обойти это, я полагаю, не передавая ds, но {{next_execution_date}}, тогда проблема становится на обратной засыпке или повторном воспроизведении, когда мне нужно указать день перед днем, над которым я действительно хочу работать.Это может привести к ошибкам и затруднить управление.
Дополнительным усложнением является спецификация 1-5, которая также мешает вычислению интервала, что затрудняет определение того, когда задания будут выполняться и на какой период.
Я видел довольно много сообщений о том, как это работает, и кажется, что логика здесь является источником большого количества путаницы.Ищете какой-нибудь передовой опыт здесь?
Мне интересно, не слишком ли перегружает наличие одной строки cron для указания интервала, поскольку она используется для указания как периода, за который задача отвечает, так и получениякогда это должно быть выполнено.