Рубрики
Uncategorized

DigDag — Расписание работы (рабочий процесс) несколько раз в тот же день

Эй, ребята! Итак, у меня была задача выполнения исполнения приборной панели ежедневно в 12.00 и 4,00 вечера и было … Теги с DigDag, планировщиком, производительностью, дежоптом.

Эй, ребята! Итак, у меня была задача выполнения казни для приборной панели ежедневно в 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»