Кажется, Autosys сильно ограничен. Вы можете создать условие в JOB2, которое зависит от успеха JOB1, например, УСПЕХ (JOB1). Но, похоже, нет поддержки для условия, обратного УСПЕХУ. Autosys предоставляет условия RUNNING и NOTRUNNING, но по некоторым причинам они, к сожалению, не включают NOTSUCCESS.
Лучший обходной путь, который я нашел до сих пор, - это использовать следующую конфигурацию JIL:
insert_job: 0AM-7AM_BOX
job_type: b
start_times: "00:00"
description: "Succeeds if JOB1 succeeds, TERMINATED if JOB1 does not succeed"
term_run_time: 419
insert_job: CHECK_THE_CONDITION
job_type: c
box_name: 0AM-7AM_BOX
command: date
condition: success(JOB1)
description: "Succeeds if JOB1 succeeds"
insert_job: ACT_ON_THE_CONDITION
job_type: c
command: [put the command you want to execute here]
condition: SUCCESS(CHECK_THE_CONDITION)
description: "Run the run between midnight and 7am if the condition is true"
Итак, если JOB1 входит в состояние «УСПЕХ» между полуночью и 7:00, тогда ACT_ON_THE_CONDITION будет запущен немедленно. Поскольку команда является просто фиктивным вызовом «date», она должна выполняться немедленно и также стать «SUCCESS», и, следовательно, поле 0 AM-7AM_BOX также станет «SUCCESS».
Другая возможность заключается в том, что JOB3 не переходит в состояние «УСПЕХ» до 7 утра. В этом случае настройка «term_run_time» приведет к тому, что поле войдет в состояние «TERMINATED».
Подводя итог,
- Если JOB1 - УСПЕХ, 0 AM-7AM_BOX -> УСПЕХ
- Если JOB1 - это что-то кроме УСПЕХА, 0 AM-7AM_BOX -> TERMINATED
Это полезно, потому что вы можете затем настроить зависимые задания, которые проверяют условие успеха или завершенное условие (поскольку TERMINATED является действительным тестом, который вы можете поставить в условие).