У нас есть повторяющееся задание JOB_A, которое выполняется каждые 15 минут. Если это не удается, мы должны принудительно запустить другое окно, BOX_TO_FIX, чтобы исправить проблему.
Но проблема здесь в том, что нашей операционной группе требуется больше 20–30 минут, чтобы отреагировать на сбой JOB_A. Прежде чем они смогли запустить BOX_TO_FIX, это повторяющееся задание JOB_A запускается снова и терпит неудачу во второй раз.
Наша проблема заключается в том, что другой оператор может принять это второе предупреждение и запустить BOX_TO_FIX второй раз, чего нам следует избегать.
Можно ли остановить выполнение повторяющегося задания JOB_A по расписанию после того, как оно не удалось в первый раз? Если статус сбой, он не должен запускаться снова, пока мы не исправим причину сбоя?
Похоже на две проблемы с рабочим процессом.
Возможно ли установить сбой (JOB_A) условие на BOX_TO_FIX, чтобы он автоматически запускался при сбое JOB_A?
Независимо от этого ответа, вы можете установить глобальную переменную, которая отключает JOB_A в случае его сбоя до тех пор, пока он не будет сброшен при успешном выполнении BOX_TO_FIX.
insert_job: JOB_A
condition: value(JOB_A_IS_BROKEN) = 0
etc.
insert_job: OMG_A_BROKE
condition: failure(JOB_A)
command: sendevent -E SET_GLOBAL -G JOB_A_IS_BROKEN=1
insert_job: BOX_TO_FIX_IS_FINISHED
box_name: BOX_TO_FIX
condition: success(last cmd in BOX_TO_FIX)
command: sendevent -E SET_GLOBAL -G JOB_A_IS_BROKEN=0