Назад | Перейти на главную страницу

Могу ли я добавить информацию во внутреннюю бухгалтерию SGE ПОСЛЕ подачи вакансии?

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

Я вижу, как сообщить SGE / OGE о необходимости записи в определенный файл журнала, но в наших файлах журнала обычно указывается имя хоста, на котором выполнялось задание (эта система gridengine встраивается в уже существующую систему). Таким образом, мы не можем создать имя файла журнала во время отправки, а скорее во время запуска задания на узле выполнения.

Что мы хотели бы сделать, так это взять этот путь к файлу журнала и каким-то образом связать его с заданием, чтобы SGE знал об этом и мог отображать его нам через qstat или qacct. Есть ли способ вставить имя файла журнала в какую-либо структуру, к которой имеет доступ qstat?

Изначально я думал добавить env var в задание через qalter, но если я правильно понимаю документы, мне нужно будет убить и повторно отправить задание в этом случае, поскольку qalter работает только с ожидающими заданиями.

Вау, наверное, я недостаточно читал страницы руководства. Для qalter есть флаг -ac, который делает именно это.

В частности, в моем сценарии, который выполняется на узле выполнения, я могу сделать что-то вроде этого:

# compute logfile name
logfile=/my/path/to/logfiles/$queuename/$jobname.log

# send the logfile back to SGE via a context entry
qalter $JOB_ID -ac MYLOGFILE=$logfile

# now start the real job work
somecommand -with some -options

$ JOB_ID - одна из волшебных окружающих переменных, которые SGE вставляет в пространство процесса задания, выполняемого на исполнительных узлах. Контекстная информация будет отображаться с помощью команды 'qstat -j ID' или чтобы получить их все 'qstat -j \ *'

Мне пока не ясно, какую информацию я могу спрятать в этом поле, но, похоже, это работает в случае помещения файла журнала обратно в запись о вакансии.