2014-02-11 4 views
8

Iv'e представило несколько работ для PBS. Теперь я хочу, чтобы задание, которое я представил, последнее будет первым.Переупорядочение позиции в очереди PBS

Один из вариантов - сохранить все задания предварительного просмотра (используя qhold). Проблема в том, что я использовал переключатель -W depend=afterok:, чтобы включить задания сразу после завершения работы превью.

Поэтому мой PBS очереди выглядеть примерно так:

468743.server username queue_name job1   4828 6 36 46gb 24:00 R 16:12 
468744.server username queue_name job1_cont  -- 6 36 46gb 24:00 H -- 
468745.server username queue_name job1_cont  -- 6 36 46gb 24:00 H -- 
468746.server username queue_name job1_cont  -- 6 36 46gb 24:00 H -- 
468747.server username queue_name job1_cont  -- 6 36 46gb 24:00 H -- 
468748.server username queue_name job1_cont  -- 6 36 46gb 24:00 H -- 
468743.server username queue_name job2   4828 6 36 46gb 24:00 R 16:12 
468744.server username queue_name job2_cont  -- 6 36 46gb 24:00 H -- 
468745.server username queue_name job2_cont  -- 6 36 46gb 24:00 H -- 
468746.server username queue_name job2_cont  -- 6 36 46gb 24:00 H -- 
468747.server username queue_name job2_cont  -- 6 36 46gb 24:00 H -- 
468748.server username queue_name job2_cont  -- 6 36 46gb 24:00 H -- 
468753.server username queue_name NewJob  -- 6 36 46gb 24:00 H -- 
468754.server username queue_name NewJob_cont  -- 6 36 46gb 24:00 H -- 
468755.server username queue_name NewJob_cont  -- 6 36 46gb 24:00 H -- 

Теперь я хочу NewJob, который является последним в строке, чтобы запустить после первой работы в {job1, job2} закончена, и до любого из «_cont». И я хочу, чтобы задания NewJob_cont запускались после NewJob.

Могу ли я изменить положение NewJob в строке без разрушения остальной иерархии очереди ожидания?

+1

Какой планировщик вы используете для запуска этих заданий? – dbeer

ответ

2

Вы можете использовать qalter для изменения зависимостей для заданий. Вы можете выполнить:

qalter 468744 -W depend=after:468753 
qalter 468753 -W depend=after:468743 

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

+0

Это вариант, но поскольку у меня есть еще 10 «job #», кроме 1 и 2, и мне придется отложить их до моего NewJob, это будет довольно раздражать. Кроме того, в то время как NewJob работает, могут выполняться и другие задания, вплоть до предела, установленного администратором сервера. Так что это решение не идеально. Спасибо в любом случае, Ronen. – Ronen

+0

Вы можете использовать зависимость afterstart, если вы хотите, чтобы они запускались после этой работы. – dbeer

+0

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

Смежные вопросы