Paral­lé­li­sa­tion de travaux

Paral­lé­li­sa­tion de travaux

mer 28 septembre 2022 0 Par Ibmiiste

Pour paral­lé­li­ser des tra­vaux, vous devez les sou­mettre à une file de tra­vaux le per­met­tant. Pour cela vous pou­vez uti­li­ser 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 éga­le­ment possible :

  • NULL : la valeur null indique que la jobq n’est pas affec­tée à un sous-système.
  • -1 signi­fie *NOMAX, voi­ci ce qu’il y a dans l’aide de l’IBM i

Aucune limite n’est fixée pour le nombre de tra­vaux
pou­vant être lan­cés simul­ta­né­ment via ce poste file
d’at­tente de tra­vaux. Tou­te­fois, le niveau maxi­mal
d’ac­ti­vi­té des postes de rou­tage, le sous-sys­tème ou
le niveau de prio­ri­té de tra­vail spé­ci­fique peuvent
empê­cher le lan­ce­ment de cer­tains tra­vaux. Si vous
indi­quez *NOMAX, la tota­li­té des tra­vaux figu­rant dans
la file d’at­tente sont lan­cés, même si le niveau
d’ac­ti­vi­té du pool de mémoire uti­li­sé empêche leur
exé­cu­tion simultanée.

Le nombre maxi­mum de tra­vaux simul­ta­nés est défi­nit quand la file de tra­vaux est rat­ta­chée à un sous-sys­tème par la com­mande ADDJOBQE.

Exemple

ADDJOBQE SBSD(QUSRSYS/WEBSBSD)
JOBQ(BETRAV/WBSJOBQ)
MAXACT(*NOMAX)

Pour pou­voir uti­li­ser cette com­mande, vous avez besoin de droits sup­plé­men­taires ; les droits d’ex­ploi­ta­tion (*OBJOPR) et de ges­tion d’objet(*OBJMGT), l’ac­cès en lec­ture (*READ Autho­ri­ty) sur la des­crip­tion du sous-sys­tème que l’on sou­haite rat­ta­cher à la file de tra­vaux et le droit d’exé­cu­tion (*EXECUTE Autho­ri­ty) sur la biblio­thèque conte­nant la des­crip­tion du sous-système.