У меня есть доступ ровно к 100 узлам. После того, как я отправляю задания на все 100 узлов, я хотел бы выполнить запрос после 180 секунд ожидания, чтобы выяснить, сколько заданий все еще находится в очереди. Если в очереди есть несколько заданий, вывод bash будет указывать количество ожидающих заданий. Если все задания начнут выполняться на 100 узлах, я хотел бы отправить новые задания и делать это до тех пор, пока все задания не будут завершены. Когда все задания завершены, bash должен выйти, а l oop.
Я написал следующие строки bash code
n=1
while [ $n -gt 0 ]; do
if (($(qselect -u username | grep 'Q' | wc -l) > 0)); then
echo "Jobs in Queue=$(qselect -u username | grep 'Q' | wc -l)"
else
python parallel_jobs.py
n=$(qselect -u username | grep 'Q' | wc -l)
fi
sleep 180
done
Я обнаружил, что bash выходит, а l oop только через 1 проход, вопреки ожиданиям .