Control-M добавить условие между ежемесячной и ежедневной работой

Я использую control-M для планирования нескольких заданий, вот сценарий, с которым я сталкиваюсь:

Задание-1 — выполняется ежедневно (не в определенное время)

Job-2 — заказывается 1-го числа каждого месяца, но работает примерно 10-го числа (не фиксировано)

Теперь я требую, чтобы Задание-2 зависело от выполнения Задания-1. Скажем, если задание-2 становится пригодным для выполнения 12-го числа, оно должно выполняться только в следующих сценариях:

  1. Задание-1 для 12-го успешно выполнено
  2. Если выполнение задания-1 не запланировано на 12-е число, то задание-2 должно проверить последнее успешное выполнение (например, может быть, 11-е)

Задание-2 не должно выполняться, если последнее выполнение Задания-1 не удалось

Что я пробовал, так это указать условие IN для задания-2 с датой как PREV, но, похоже, это не проверяет выполнение задания-1 на текущую дату.


person pranky64    schedule 20.08.2013    source источник


Ответы (2)


--> для задания-1 используйте выходное условие с "Nodate" --> для задания-2 используйте исходное условие задания-1 Nodate как рабочее состояние. как только это задание-2 будет завершено, удалите условие задания-1. вместе с тем поставил outcondition job-2 с odate. --> в предварительных условиях задания-1 проверьте (исходящее условие задания-1 без даты ИЛИ выходное условие задания-2 с предыдущей датой) и удалите условия после использования только в предварительных условиях.

Поток выполнения. поэтому job-1 будет выполняться каждый день и выбрасывать в базу данных outcondition с nodate. на следующий день, когда он запускается, он проверяет (условие узла задания-1 ИЛИ условие предыдущего задания-2), если какое-либо из них доступно, затем он принимает это условие и удаляет то же условие из базы данных и запускает работа-1.

всякий раз, когда ваше задание-2 будет выполняться, в этот день оно будет проверять состояние узла задания-1. если задание-1 выполнено успешно, то его выходное состояние узла будет доступно для использования и может использоваться для запуска задания-2. как только задание-2 будет завершено, условие узла задания-1 будет удалено. и текущее состояние исходного состояния задания-2 будет использоваться при выполнении задания-1 на следующий день, поскольку условие узла задания-1 будет недоступно для использования.

Спасибо.

person S.P    schedule 28.03.2018
comment
Спасибо, но мы смогли решить эту проблему несколько лет назад - person pranky64; 02.04.2018

Есть несколько способов справиться с этим:

Во-первых, иметь две версии задания 1. Разница между заданиями заключается в календаре. Один работает все дни, кроме дневного задания 2. второй выполняется только в день 2, и это задание создает условие выхода, которое задание 2 использует в качестве условий входа.

Другой вариант — создать условие выхода в качестве постобработки для задания 1, затем задание 2 использует это условие как условие выполнения с ** в качестве даты — не забудьте удалить это условие после завершения задания 2 ( что всегда является хорошей практикой).

синтаксис на status = * (или какая-то строка в sysout), compstat = OK, добавьте условие.

Вы также можете принудительно выполнить задание 2 в качестве постобработки, добавив в оператор on выполнение принудительной работы.

person adam f    schedule 27.01.2014