Эй, ребята! Итак, у меня была задача выполнения казни для приборной панели ежедневно в 12.00 и 4,00 вечера и должна была использовать Планировщик работы Digdag . Но, после того, как провести довольно некоторое время на Документация DigDag Я не мог найти ничего актуального согласно моему требованию. Следовательно, я решил попробовать обходной путь.
«Вместо того, чтобы планировать приборную панель с помощью одного рабочего процесса (файл * .dig), я могу импортировать/включать рабочий процесс в другой рабочий процесс и запланировать его согласно моим потребностям».
Например:
Примечание. Приведенный ниже пример продемонстрирован на Ubuntu 18.04 (Linux). Пожалуйста, обратитесь к документации DigDag для других команд, специфичных платформой.
Давайте генерируем образец проекта DigDag Расписание-демоверсия Использование команды:
$ digdag init schedule-demo
Вышеуказанная команда создаст рабочий процесс График-Demo.dig В расписании-демонстрационном каталоге/проекте с содержанием:
timezone: UTC +setup: echo>: start ${session_time} +disp_current_date: echo>: ${moment(session_time).utc().format('YYYY-MM-DD HH:mm:ss Z')} +repeat: for_each>: order: [first, second, third] animal: [dog, cat] _do: echo>: ${order} ${animal} _parallel: true +teardown: echo>: finish ${session_time}
Давайте рассмотрим вышеуказанный рабочий процесс на каждые два минуты в тот же день, используя файл one_minute.dig и dvy_minutes.dig рабочий процесс.
Создание рабочих процессов one_minute.dig и foo_minutes.dig в планировании проекта-демонстрации с указанным ниже содержимым:
- Workflow One_minute.dig:
!include : 'schedule-demo.dig' schedule: minutes_interval>: 1
- Workflow who_minute.dig:
!include : 'schedule-demo.dig' schedule: minutes_interval>: 2
Теперь измените текущий рабочий каталог на Расписание-демоверсия Использование команды:
$ cd {current_path}/schedule-demo/
Затем нажмите проект Расписание-демоверсия Для сервера DigDag с помощью команды:
$ digdag push schedule-demo
(Примечание. На локальной настройке Ubuntu начать команду DIGDAG Server Execute ‘DigDag Server’ на терминале)
Если вы находитесь вне каталога проекта и хотите нажать команду «Использовать проект»:
$ digdag push schedule-demo --project /{path}/schedule-demo --revision schedule-demo-v1
{путь} => путь к расписанию-демонстрационному проекту
Затем запустите браузер (любой) и добавьте URL ‘ http://localhost: 65432/’ И на вкладке «Рабочий процесс» вы увидите результат, аналогичный ниже изображению (вам придется ждать не менее 5-6 минут, чтобы получить аналогичный вывод как у моего):
Если вы наблюдаете изображение, вывод с ID 2 и ID 5 Имеет 2 минуты разницы (см. «Последняя попытка в столбце») и стоимость рабочего процесса является Двухминутный Отказ Вы найдете аналогичный результат для одноминутного рабочего процесса (I.E. Разница во времени исполнения между каждым настоящим и следующим попыткой работы рабочего процесса составит 1 минуту).
Слияние Там могут быть разные способы достижения результата, продемонстрированного в приведенном выше примере. Это только один из тех:)
Если вам понравился этот блог, поделитесь этим с друзьями!
Спасибо за чтение!
Источники:
https://www.digdag.io/ https://docs.digdag.io/getting_started.html https://docs.digdag.io/workflow_definition.html?highlight=include#include-another-file.
Оригинал: «https://dev.to/shubham_kadam/digdag-schedule-a-job-workflow-multiple-times-on-same-day-11g7»