SGE hold_jid и отлов неудачных заданий

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

Я только что заметил, что иногда некоторые из параллельных заданий терпят неудачу, а скрипт сбора все еще работает. В документации указано, что:

Если какое-либо из указанных заданий завершится с кодом выхода 100, отправленное задание останется непригодным для выполнения.

Как я могу перехватить статус завершения параллельных неудачных заданий, чтобы в случае сбоя любого из них по какой-либо причине скрипт сбора не выполнялся или выдавал сообщение об ошибке?


person 719016    schedule 18.09.2013    source источник


Ответы (1)


В случае BASH вы можете проанализировать статус выхода вашей программы (на который можно ссылаться как $?), а в случае, если это не 0 (который является статусом выхода для нормального завершения), вызовите exit 100 в конце вашего сценария работы.

Проблема в том, что ваша работа останется в очереди в состоянии Eqw и ее придется удалять вручную.

ОБНОВЛЕНИЕ: для каждого заданного вами задания Eqw ваши администраторы получают электронное письмо...

person Stefan    schedule 08.10.2013