
Parallélisation de travaux
mer 28 septembre 2022Pour paralléliser des travaux, vous devez les soumettre à une file de travaux le permettant. Pour cela vous pouvez utiliser la requête SQL suivante :
-- File d'attente des travaux ordonné par le nombre max de travaux actifs simultanés descendant
SELECT *
FROM QSYS2.JOB_QUEUE_INFO
Order by Maximum_active_jobs Desc
;
Le champ MAXIMUM_ACTIVE_JOBS vous indique ce nombre. Il y a 2 valeurs spéciales également possible :
- NULL : la valeur null indique que la jobq n’est pas affectée à un sous-système.
- -1 signifie *NOMAX, voici ce qu’il y a dans l’aide de l’IBM i
Aucune limite n’est fixée pour le nombre de travaux
pouvant être lancés simultanément via ce poste file
d’attente de travaux. Toutefois, le niveau maximal
d’activité des postes de routage, le sous-système ou
le niveau de priorité de travail spécifique peuvent
empêcher le lancement de certains travaux. Si vous
indiquez *NOMAX, la totalité des travaux figurant dans
la file d’attente sont lancés, même si le niveau
d’activité du pool de mémoire utilisé empêche leur
exécution simultanée.
Le nombre maximum de travaux simultanés est définit quand la file de travaux est rattachée à un sous-système par la commande ADDJOBQE.
Exemple
ADDJOBQE SBSD(QUSRSYS/WEBSBSD)
JOBQ(BETRAV/WBSJOBQ)
MAXACT(*NOMAX)
Pour pouvoir utiliser cette commande, vous avez besoin de droits supplémentaires ; les droits d’exploitation (*OBJOPR) et de gestion d’objet(*OBJMGT), l’accès en lecture (*READ Authority) sur la description du sous-système que l’on souhaite rattacher à la file de travaux et le droit d’exécution (*EXECUTE Authority) sur la bibliothèque contenant la description du sous-système.