Цепочка заданий с qsub

У меня есть скрипт на python, который что-то делает с входным файлом, а затем отправляет новое задание с помощью qsub.

Как только это новое отправленное задание будет завершено, я хочу снова запустить скрипт Python. Таким образом, запуск этого скрипта Python должен быть связан с запуском предыдущего задания, которое было отправлено самим скриптом Python.

Подводя итог в терминах кода. Я захожу в родительский каталог и набираю:

./python_script.py

Скрипт на Python устроен примерно так (на самом деле он намного сложнее):

def Main():
    subdirectory = IdentifySubDirectory()
    os.chdir(subdirectory)
    EditInputFile()
    qsub jobscript.sh
    os.chdir(parentdirectory)

Как я могу сделать это, просто используя мой скрипт python и скрипт задания?

Раньше я использовал crontab и запускал его каждые x часов, но это крайне неудовлетворительная ситуация, потому что каждая симуляция выполняется разное количество времени, что приводит к большому количеству простоев.

Спасибо за любую помощь


person user1654183    schedule 21.11.2013    source источник


Ответы (2)


Если это TORQUE, вы можете использовать зависимости работы, чтобы получить поведение, которое вы описываете. Отправка зависимых заданий задокументирована здесь, просто найдите слово "зависит", и оно приведу вас прямо к нему.

person dbeer    schedule 11.12.2013

Повторите отправку сценария задания:

jobscript.bash:

#!/bin/bash
cd $PBS_O_WORKDIR
./pythonscript.py
qsub -N reiterateSim jobscript.bash 
person Dave X    schedule 06.01.2018