Воздушный поток, как лучше заменить cron с воздушным потоком - PullRequest
0 голосов
/ 17 декабря 2018

Я уже некоторое время оцениваю воздушный поток, и мне действительно нравятся многие функции.Сейчас я пытаюсь показать, где я заменяю существующие задания cron.

Я борюсь с умственной гимнастикой, необходимой для перехода между cron, где задание выполняется по расписанию, к потоку воздуха, где указана спецификация cron.для интервала и фактического времени выполнения задания не указывается, но выводится из этого (т. е. его выполнение после интервала).

Так, например, у меня есть задание cron, которое выполняется каждую ночь в 22:30,Его задача - завершить обработку всех данных, поступивших в тот день.

Звучит просто, спецификация cron - "30 22 * ​​* 1-5" (поэтому задача выполняется только в будние дни).И я передаю {{ds}} в качестве параметра для моей задачи (скрипт оболочки bash).

Наивно я использовал спецификацию в потоке воздуха и, конечно, я не получаю ожидаемых результатов.Даг запускается в конце периода, поэтому я не запускаю выполнение в понедельник, а для выполнения во вторник {{ds}} установлено значение понедельник.

Я могу обойти это, я полагаю, не передавая ds, но {{next_execution_date}}, тогда проблема становится на обратной засыпке или повторном воспроизведении, когда мне нужно указать день перед днем, над которым я действительно хочу работать.Это может привести к ошибкам и затруднить управление.

Дополнительным усложнением является спецификация 1-5, которая также мешает вычислению интервала, что затрудняет определение того, когда задания будут выполняться и на какой период.

Я видел довольно много сообщений о том, как это работает, и кажется, что логика здесь является источником большого количества путаницы.Ищете какой-нибудь передовой опыт здесь?

Мне интересно, не слишком ли перегружает наличие одной строки cron для указания интервала, поскольку она используется для указания как периода, за который задача отвечает, так и получениякогда это должно быть выполнено.

...