Задание Autosys не запускалось дважды в течение некоторого периода

Моя работа A зависит от родительской работы B, и A запускается, когда B успешно.
Проблема в том, что B может закончить несколько раз в течение дня по ошибке (ошибка в восходящем потоке).
Как я могу сделать A зависимым на B и запускать только в том случае, если он еще не был запущен в тот же день?


person Mike    schedule 01.03.2019    source источник


Ответы (1)


Не нашел другого решения, кроме как ввести новую «защитную работу» посередине с:

command: (( "X$(date +%F)" != "X$(cat defensive_trigger_date)" )) && ( echo $(date +%F) > defensive_trigger_date; echo $(date +%F) )

Логика высокого уровня:

  • Если текущая системная дата не равна дате запуска последнего задания (из файла), сбросить текущую системную дату в файл и выйти с нулевым кодом выхода (выполнить задание успешно)
  • Иначе выход с ненулевым кодом выхода (сбой работы)
person Mike    schedule 05.03.2019