Совместно ли пакетные задания используют одну и ту же библиотеку QTEMP на AS400? - PullRequest
1 голос
/ 30 ноября 2011

Предположим, что есть программа, которая копирует файл в temp, выполняет некоторые манипуляции с данными и копирует их обратно.Теперь, если я отправлю его для запуска в пакетном режиме дважды, будет два пакетных задания, которые могут выполнять одинаковые файловые приемы в одно и то же время.Будет ли одно вызывать проблемы для другого, например, искажать данные другого, поскольку файл находится в той же библиотеке?Что сейчас произойдет?Допустим, блокировка объекта здесь не проблема.

Ответы [ 2 ]

5 голосов
/ 30 ноября 2011

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

Поэтому в вашем примере каждое пакетное задание будет иметь своеуникальная QTEMP библиотека и не будет мешать другим.

4 голосов
/ 30 ноября 2011

Я думаю, что у вас всегда будут проблемы с искаженными данными при следующих обстоятельствах: Задание 1 обновляет дату рождения;Задание 2 обновляет почтовый индекс

Job 1 cpyf prod/x qtemp/x
Job 2 cpyf prod/x qtemp/x
Job 1 call updbirth
Job 2 call updpostal

. На данный момент существует три отдельные копии файла X:

1) Производство.Ни почтовый индекс, ни дата рождения не были обновлены, но некоторые другие вакансии могут обновлять имя и адрес.Обновления, внесенные в эту копию, не отражаются в задании 1 или копии задания 2 файла X

2) Задание 1. В этой копии обновлены даты рождения, но не почтовые индексы или изменения, внесенные в производство с момента запуска задания 1.

3) Задание 2. Эта копия имеет обновленные почтовые индексы, но не даты рождения или изменения, внесенные в производство с момента запуска задания 2.

Независимо от того, какой файл копируется обратно в производство, все изменениясделанные в производстве будут потеряны.Затем, когда другой рабочий файл будет скопирован обратно в производство, все эти изменения также будут потеряны.Полученный производственный файл будет содержать только изменения, внесенные последней пакетной программой для обновления рабочего файла.

...