Функция zosftplib submit_wait_job (jcl) не получает вывод JES

У меня есть вызов функции python zosftplib, который успешно отправляет задание MVS, но не распознает, что задание завершено, и не получает вывод JES из задания. Я могу успешно установить FTP-соединение MVS и могу загружать и скачивать файлы.

Код выглядит так: job = Myzftp.submit_wait_job(jcl)

В конечном итоге вызов отображает следующее сообщение об ошибке.

Файл "C:\Python27\lib\site-packages\zosftplib.py", строка 410, в submit_wait_job %(msg, resp)) ZftpError: 'ошибка submit_wait_job: 550 JesPutGet прервано, задание не найдено (последний ответ: 250 Передача завершена успешно.)'

Любые предложения будут полезны в том, как я могу решить эту проблему.


person Mike C.    schedule 09.10.2017    source источник
comment
Как узнать, что вакансия успешно отправлена? Есть ли какие-либо соответствующие сообщения в журнале операций мейнфрейма (или системных журналах для LPAR, на котором задание было отправлено и где оно выполнялось)?   -  person cschneid    schedule 09.10.2017
comment
Я могу заглянуть в очередь удержания SDSF и увидеть все выходные данные, связанные с заданием, такие как сообщения журнала JES, JCL и другие SYSOUT. В задании есть только один шаг, и он завершается с кодом условия 0000.   -  person Mike C.    schedule 09.10.2017
comment
Теперь мы установили, что задание было отправлено и запущено, спасибо. Если вы посмотрите в системный журнал, увидите ли вы какие-либо сообщения во время выполнения вашей работы? Имеются ли сообщения, связанные с безопасностью, запрещающие доступ к выходным данным вашего задания через FTP?   -  person cschneid    schedule 09.10.2017
comment
Похоже, что в журнале не было никаких сообщений, связанных с безопасностью, во время выполнения моей работы. Я вижу сообщения журнала, связанные с выполнением заданий, но я не вижу никаких других очевидных сообщений об ошибках или предупреждений.   -  person Mike C.    schedule 09.10.2017
comment
Еще один интересный момент заключается в том, что 'print Myzftp.list_jes_spool('MYMVSID*')' ничего не возвращает из SDSF, а также 'print Myzftp.get_job_infos('JES32133'), который является идентификатором задания одного из моих запусков.   -  person Mike C.    schedule 09.10.2017
comment
Извините, я не могу больше помочь.   -  person cschneid    schedule 09.10.2017


Ответы (1)


Работа с MVS FTP и JES может быть очень специфичной. Например, мой идентификатор MVS был MVSIDD. В моей карточке задания было имя MVSIDDXY. Таким образом, функция submit_wait_job() правильно отправит задание, и оно будет успешно выполнено. Проблема возникла с возвратом вывода JES обратно на FTP. Он ожидал имя задания с моим идентификатором и одним символом, а не двумя. Изменив имя задания в карте задания на MVSIDDX, функция заработала, как и ожидалось, и дождалась завершения задания, а затем вернула вместе с ним все выходные данные JES.

person Mike C.    schedule 09.10.2017