Planification de Travaux - temps d'UC
Posté : ven. 30 oct. 2020, 09:44:35
Bonjour,
Le but est de soumettre des travaux toutes les n minutes, pour cela un CL est lancé un fois par jour depuis le planificateur ibm i :
Le problème est que le CL prends beaucoup de CPU en fin de journée (Environ 25 %), est-ce qu'il y existe un moyen de faire autrement (hors AJS...)? Je pensais passer par une DTAQ mais écrire dedans toutes les 5 minutes reviendrai au même non ?
Cordialement,
Jean-Marie
Le but est de soumettre des travaux toutes les n minutes, pour cela un CL est lancé un fois par jour depuis le planificateur ibm i :
Code : Tout sélectionner
/* Déclarations Globales */
DCL VAR(&HEURE) TYPE(*CHAR) LEN(6)
DCL VAR(&HEURE_TRT) TYPE(*CHAR) LEN(6) VALUE('000000')
/* Traitement */
BOUCLE: RTVSYSVAL SYSVAL(QTIME) RTNVAR(&HEURE)
/* Fin du traitement à 17h30 - a ajuster */
IF COND(&HEURE *GT '173000') THEN(GOTO CMDLBL(FIN))
/* Toutes les 5 minutes */
IF COND(%INT(&HEURE) *GE (%INT(&HEURE_TRT) + 500)) THEN(DO)
/* Lancement Pgm 1 */
SBMJOB CMD(CALL PGM1) JOB(PGM1)
MONMSG MSGID(CPF0000)
/* Lancement Pgm 2 */
SBMJOB CMD(CALL PGM2) JOB(PGM2)
MONMSG MSGID(CPF0000)
/* Affectation de l'heure de traitement de référence */
CHGVAR VAR(&HEURE_TRT) VALUE(&HEURE)
ENDDO
/* Lecture suivante */
GOTO CMDLBL(BOUCLE)
FIN:
ENDPGM
Cordialement,
Jean-Marie