Есть ли способ определить, что задание было завершено вручную с помощью опции «4»? - PullRequest
0 голосов
/ 25 марта 2019

Некоторые задания были завершены с помощью сообщения ниже. Msgstr "Profilexxxx выдал запрос на контролируемое отключение для работы". Как проверить, были ли эти задания завершены вручную, выбрав «4». Работа заканчивается и возобновляется каждый день. Когда я проверял журналы заданий предыдущего дня, я мог видеть сообщение CPC1125, а когда работа завершилась ненормально, это были cpc1126 и CPC1235.

1 Ответ

2 голосов
/ 26 марта 2019

Есть несколько способов, которыми работа может закончиться. Обычные способы:

  1. Нормальный конец - Программы завершаются нормально без каких-либо сообщений.
  2. Контролируемое завершение работы - работа завершается принятием 4 за работу в WRKACTJOB или вызовом ENDJOB.
  3. Немедленное завершение работы - работа завершается принятием 4 на работу в WRKACTJOB или вызовом ENDJOB с OPTION (* IMMED).
  4. Контролируемый конец подсистемы. Подсистема, в которой выполняется задание, завершается вызовом ENDSBS.
  5. Непосредственный конец подсистемы. Подсистема, в которой выполняется задание, завершается вызовом ENDSBS с OPTION (* IMMED).
  6. Ошибка программы. Пользователь принимает C или D на сообщение.

Есть и другие, но они менее вероятны. На самом деле, опция ENDSBS (* IMMED) также не слишком вероятна, но ее легко протестировать.

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

  1. Нормальный конец - только CPF1164 с кодом конца 0. В журнале заданий нет escape-сообщений.

CPF1164 Завершение 00/26/19 09: 06: 14.261295 QWTMCEOJ QSYS 0162 * EXT * N

Сообщение. , , , : Работа 274217 / MMURPHY / MMURPHY закончилась 26.03.199 в 09:06:14; 0,005 секунд используется; код конца 0.

  1. Контролируемый конец задания - опять нет экранирующих сообщений, но CPC1126 будет присутствовать. Код окончания 10 на CPF1164. Показывает профиль пользователя, который завершил работу.

CPC1126 Завершение 50 26.03.19 08: 42: 37.604265 QWTCCCNJ QSYS 0C74 * EXT * N

Сообщение. , , , : Задание 274196 / MMURPHY / MMURPHY было завершено пользователем MMURPHY.

Причина. , , , , : Пользователь MMURPHY выдал контролируемый запрос на окончание работы 274196 / MMURPHY / MMURPHY.

CPF1164 Завершение 00/26/19 08: 42: 37.607135 QWTMCEOJ QSYS 0162 * EXT * N

Сообщение. , , , : Работа 274196 / MMURPHY / MMURPHY закончилась 26.03.198 в 08:42:37; 6,291 секунды использовано; код конца 10.

  1. Немедленное завершение задания - опять нет экранирующих сообщений, но CPC1125 будет присутствовать. Код окончания 50 на CPF1164. Показывает профиль пользователя, который завершил работу.

CPC1125 Завершение 50 26.03.19 08: 44: 46.773821 QWTCCCNJ QSYS 0C74 * EXT * N

Сообщение. , , , : Задание 274200 / MMURPHY / MMURPHY было завершено пользователем MMURPHY.

Причина. , , , , : Пользователь MMURPHY немедленно отправил запрос о завершении работы 274200 / MMURPHY / MMURPHY.

CPF1164 Завершение 00/26/19 08: 44: 46.774951 QWTMCEOJ QSYS 0162 * EXT * N

Сообщение. , , , : Работа 274200 / MMURPHY / MMURPHY закончилась 26.03.198 в 08:44:46; Использовано 5,661 секунды; код конца 50.

  1. Контролируемый конец подсистемы - аварийного сообщения нет, CPC1206 будет присутствовать. Нет указаний о том, кто выпустил ENDSBS. Код окончания 10 в CPF1164.

CPC1206 Завершение 50 26.03.19 08: 52: 59.936053 QWTMMTRS QSYS 0370 * EXT * N

От пользователя. , , , , , , , , : QSYS

Сообщение. , , , : Подсистема контролируется до конца.

CPF1164 Завершение 00/26/19 08: 52: 59.939458 QWTMCEOJ QSYS 0162 * EXT * N

Сообщение. , , , : Работа 274207 / MMURPHY / MMURPHY закончилась 26.03.199 в 08:52:59; Использовано 16,004 секунды; код конца 10.

  1. Немедленный конец подсистемы - аварийного сообщения нет, CPC1207 будет присутствовать. Нет указаний о том, кто выпустил ENDSBS. Код окончания 10 в CPF1164.

CPC1207 Завершение 50 26.03.19 09: 05: 00.642584 QWTMMTRS QSYS 0370 * EXT * N

От пользователя. , , , , , , , , : QSYS

Сообщение. , , , : Подсистема немедленно завершается.

CPF1164 Завершение 00/26/19 09: 05: 00.643785 QWTMCEOJ QSYS 0162 * EXT * N

Сообщение. , , , : Работа 274213 / MMURPHY / MMURPHY закончилась 26.03.199 в 09:05:00; Использовано 14,583 секунды; код конца 50.

  1. Сбой программы - до CPF1164 будут появляться управляющие сообщения, возможно, CEE9901, если программа является программой ILE RPG, возможно, другие, в зависимости от типа программы, которая завершилась ненормально. Скорее всего, вы увидите сообщение-запрос с ответом C, D или F. Все они отменяют программу, и если она является верхней программой в стеке, она отменяет задание. Однако будьте осторожны, программы CL допускают ответ R или I на сообщение с запросом, которое не отменяет работу, но повторяет или игнорирует сбойную программу. Так что не все escape-сообщения приведут к сбою задания, только неконтролируемые. Удивительно, но CPF1164 будет иметь конечный код 0, так как задание действительно не завершится с ошибкой, но оно обычно завершается после обработки управляющих сообщений, отправленных верхней программой в стеке.

Для задания, которое вызывает ENDJOB или ENDSBS, они также будут записаны в журнал, но, опять же, возможно, задание настроено на подавление журнала задания в случае успешного завершения, поэтому вы можете не увидеть Это. Сообщение ENDJOB - CPC1231 и показывает задание, которое было завершено. Это происходит, когда пользователь берет 4 за работу.

Message ID . . . . . . :   CPC1231       Severity . . . . . . . :   00      
Message type . . . . . :   Completion                                       
Date sent  . . . . . . :   03/26/19      Time sent  . . . . . . :   08:44:46

Message . . . . :   ENDJOB started for job 274200/MMURPHY/MMURPHY.          
Cause . . . . . :   The End Job (ENDJOB) command is running for job         
  274200/MMURPHY/MMURPHY.                                                   

Если пользователь завершает работу, набрав в командной строке ENDJOB или ENDSBS, вы увидите сообщение с запросом, подобное этому:

From . . . . . . . . . :   MMURPHY       Severity . . . . . . . :   00      
Message type . . . . . :   Request                                          
Date sent  . . . . . . :   03/26/19      Time sent  . . . . . . :   08:52:57

Message . . . . :   ENDSBS SBS(MMURPHY)     

К сожалению, в случае с подсистемой нет указаний о том, какие задания были завершены.

...