2013-04-09 6 views
1

У меня есть то, на что я надеюсь, довольно простой вопрос, но я не очень хорошо знаком с Sun Grid, поэтому у меня возникли проблемы с поиском ответа. В настоящее время я отправляю задания в сетку, используя сценарий отправки bash, который генерирует команду, а затем выполняет ее. Я читал онлайн, что, если работа солнечной сетки завершается с кодом 99, она снова возвращается в сетку. Я успешно написал мой Баш скрипт, чтобы сделать это:Sun Grid Engine задание повторно застряло в состоянии «Rq»

[code to generate command, stores in $command] 
$command 
STATUS=$? 
if [[ $STATUS -ne 0 ]]; then 
    exit 99 
fi 
exit 0 

Когда я представить эту работу в сети с командой, которую я знаю имеет не нулевой статус выхода, работа действительно, кажется, повторно, однако планировщик никогда не посылает его на другой хост, вместо этого он просто застревает в очереди со статусом «Rq»:

job-ID prior name  user   state submit/start at  queue       slots ja-task-ID 
----------------------------------------------------------------------------------------------------------------- 
2150015 0.55500 GridJob.sh my_user  Rq 04/08/2013 17:49:00         1 

у меня есть ощущение, что это что-то просто в параметрах конфигурации для очереди, но я не смогли найти что-нибудь по поиску. Я пробовал отправить эту работу с помощью опции qsub -r y, но это ничего не меняет.

Спасибо!

+0

Что означает Rq? – user3138373

ответ

1

Запланированные задания будут запускаться только в очередях, у которых есть свой атрибут rerun (FALSE по умолчанию) установлен в значение ИСТИНА, поэтому проверьте конфигурацию очереди (qconf -mq myqueue). Без этого ваша работа остается на неопределенное время в пересмотренном состоянии, потому что ему некуда идти.

IIRC, отправляя задания qsub -r yes, только квалифицирует их для автоматической перепланировки в случае сбоя узла exec, а выход из состояния 99 должен инициировать перепланирование независимо.