Назад | Перейти на главную страницу

Может ли Autosys применять вычисления, такие как битовые маски, к значениям состояния, возвращаемым из заданий?

Я хотел бы создать работу, которая опрашивает почтовый ящик для одного из нескольких электронных писем с вложениями (не спрашивайте меня, почему бизнес не раскошеливается на веб-службу, но это так). Электронные письма могут появляться в произвольном порядке, и процесс будет опрашивать почтовый ящик, загружать найденные вложения, а затем возвращать код состояния, который содержит битовую маску битов состояния в зависимости от того, какие файлы были обнаружены.

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

Может ли Autosys каким-либо образом просматривать определенные биты в возвращаемом значении - эквивалентно:

... и так далее?

Похоже, вы хотите реализовать какой-то контроль потока. Имейте в виду, что Autosys ничего не знает о ваших электронных письмах, пользовательском коде и т. Д. Он принимает решения на основе предварительных условий и потока работ.

В вашем случае я бы сделал что-то подобное, где у меня есть поле MAIL_BATCH. Внутри есть команда MAIL_CHECK, которая выполняет ваш опрос и еще много чего, а затем возвращает код выхода (0,1,2,3). Итак, 0–2 - это ваши условия для задания A, B, C, а 3 - это состояние ошибки. Затем у вас есть команды MAIL_JOB_A, MAIL_JOB_B, MAIL_JOB_C, и вы основываете свое решение об исполнении на коде возврата, полученном ранее. Итак, MAIL_JOB_A имеет предварительное условие S (MAIL_JOB_CHECK) И E (MAIL_JOB_CHECK) = 0. Следующее задание проверит, что E (MAIL_JOB_CHECK) = 1 и т. Д.