У меня есть куча заданий для отправки в очередь PBS, и после этого выходные данные должны быть обработаны локально. Поскольку задания похожи (и я не хочу так часто менять их вручную), я написал себе сценарий bash, который локально генерирует сценарий задания PBS, а затем отправляет задание. Мой вопрос заключается в следующем: как я могу заставить свой bash-скрипт дождаться завершения задания PBS, а затем начать постобработку? (Постоянно проверять статус задания нельзя.) Какие возможности у меня есть для этого?
Большое спасибо всем подсказкам, советам или решениям!
Редактировать: как указано в комментарии (спасибо), некоторые правки:
- PBS = Портативная пакетная система
- Документация доступна здесь: http://resources.altair.com/pbs/documentation/support/PBSProUserGuide12.1.pdf
- Я подумал о возможных решениях и пришел к следующему, который не будет работать, однако: я мог бы мой скрипт bash ждать количество времени, которое запрошено как время настенных часов задания. Однако есть две сложности: во-первых, задание может не требовать так много времени и завершаться раньше, поэтому сценарий bash будет ждать слишком долго; во-вторых, задание может быть поставлено в очередь и не выполнено немедленно, поэтому сценарий bash, вероятно, будет ждать слишком мало.
Редактировать 2: Поскольку я не уверен, что всегда могу работать в интерактивном режиме, как предложено ниже, я подумал о следующем: у меня есть сценарий задания PBS, создающий (пустой) файл непосредственно перед завершением. Мой сценарий bash проверяет каждые пару минут (скажем), существует ли этот файл (используя цикл while). Если он существует, я знаю, что задание завершено, и могу начать постобработку, удалив только что созданный (пустой) файл. Таким образом, у меня есть задержка максимум на пару минут, и мне действительно не нужны никакие ресурсы. Это определенно не идеально, но своего рода обходной путь. Любые более практичные идеи приветствуются.
Любая мысль приветствуется, даже если она не имеет прямого отношения к PBS.
Кари
pbs
(в США это означает систему общественного вещания). Обратите внимание, что уpbs
всего 18 подписчиков, так что, вероятно, это не широко известная технология. Тем не менее, С.О. не является бесплатной службой кодирования, ожидается, что вы предприняли попытку решить свою проблему и разместили этот код (в правильном формате) в своем вопросе. Удачи. - person shellter   schedule 22.08.2013