CRTJOBQ
Créer une file de travaux
À quoi ça sert
Créer une file d'attente où les travaux batch patientent avant de s'exécuter, pour séparer les flux et décider combien tournent en même temps.
Pourquoi on fait ça
Par défaut, tout ce que l'on soumet avec SBMJOB atterrit dans QBATCH, qui ne lance qu'un travail à la fois. Le soir, un apprenant soumet dix compilations : la chaîne de facturation, soumise juste après, attend derrière elles. Le lendemain matin, les factures ne sont pas parties.
En créant une file dédiée aux compilations, on les isole : elles tournent dans leur couloir, avec leur propre limite, et la facturation garde le sien. On peut aussi suspendre une file entière (pendant une sauvegarde par exemple) sans toucher aux autres.
Le cas concret, pas à pas
/* 1. Créer la file */
CRTJOBQ JOBQ(FORMATION/COMPILQ) TEXT('Compilations des apprenants')
/* 2. La rattacher à un sous-système : 3 compilations en parallèle au maximum */
ADDJOBQE SBSD(QSYS/QBATCH) JOBQ(FORMATION/COMPILQ) MAXACT(3) SEQNBR(50)
/* 3. Y envoyer un travail */
SBMJOB CMD(CRTBNDRPG PGM(FORMATION/MONPGM) SRCFILE(FORMATION/QRPGLESRC)) +
JOB(COMPIL) JOBQ(FORMATION/COMPILQ)
/* 4. Suspendre puis relancer la file (les travaux attendent, rien n'est perdu) */
HLDJOBQ JOBQ(FORMATION/COMPILQ)
RLSJOBQ JOBQ(FORMATION/COMPILQ)
Le piège classique
Une file créée mais rattachée à aucun sous-système actif, c'est une salle d'attente sans guichet : les travaux restent à l'état RLS dans WRKJOBQ et ne démarrent jamais. Sans l'étape 2, CRTJOBQ ne suffit pas.
Voir aussi : ADDJOBQE, WRKJOBQ, HLDJOBQ, RLSJOBQ, CHGJOBD (envoyer par défaut les travaux d'un profil dans cette file), WRKSBSD.
Aide IBM i de la commande
Texte du F1, IBM i 7.5 en français
(bibliothèque QSYS)
Où s'exécute : Tous les environnements (*ALL)
Compatible multitâche : Non
Le commande CRTJOBQ (Créer une file d'attente de travaux) permet de créer une nouvelle file d'attente de travaux. Celle-ci contient des postes correspondant aux travaux en attente de traitement par le système. Les travaux peuvent être placés en file d'attente au moyen de l'une des commandes suivantes :
- Démarrer un lecteur de base de données (STRDBRDR)
- Démarrer un lecteur de disquette (STRDKTRDR)
- Démarrer un éditeur imprimante (STRPRTWTR)
- Démarrer un éditeur disquette (STRDKTWTR)
- Soumettre un travail (SBMJOB)
- Soumettre des travaux à partir de la base de données (SBMDBJOB)
- Soumettre des travaux à partir de la disquette (SBMDKTJOB)
- Transférer un travail (TFRJOB)
Lorsque vous aurez créé une nouvelle file d'attente, vous devez ajouter à la description de sous-système adéquate le poste correspondant. Pour ce faire, utilisez la commande ADDJOBQE (Ajouter un poste file d'attente de travaux).
Paramètres
| Mot-clé | Description | Valeurs possibles | Remarques |
|---|---|---|---|
| JOBQ | File d'attente de travaux | Nom d'objet qualifié | Obligatoire, positionnel 1 |
| Qualificatif 1: File d'attente de travaux | Nom | ||
| Qualificatif 2: Biblio | Nom, *CURLIB | ||
| TEXT | Texte 'descriptif' | Valeur caractère, *BLANK | Facultatif |
| OPRCTL | Contrôle par opérateur | *YES, *NO | Facultatif, positionnel 2 |
| AUTCHK | Droits à vérifier | *OWNER, *DTAAUT | Facultatif |
| AUT | Droits | Nom, *USE, *ALL, *CHANGE, *EXCLUDE, *LIBCRTAUT | Facultatif |
File d'attente de travaux (JOBQ)
Indique la file d'attente de travaux en cours de création.
Ce paramètre est obligatoire.
Qualificateur 1 : File d'attente de travaux
- nom
- Indiquez le nom que vous désirez donner à la file d'attente de travaux en cours de création.
Qualificatif 2 : Biblio
- *CURLIB
- La file d'attente de travaux est recherchée dans la bibliothèque en cours du travail. Si celle-ci ne figure pas dans la liste des bibliothèques, QGPL est prise par défaut.
- nom
- Indiquez le nom de la bibliothèque dans laquelle doit figurer la file d'attente de travaux.
Remarque :La bibliothèque temporaire QTEMP n'est pas un nom de bibliothèque admis. Les files d'attente de travaux doivent se trouver dans des bibliothèques permanentes.
Texte 'descriptif' (TEXT)
Texte décrivant brièvement l'objet.
- *BLANK
- Aucun texte n'est indiqué.
- 'descriptif'
- Indiquez, entre apostrophes, un texte de 50 caractères au maximum.
Contrôle par opérateur (OPRCTL)
Indique si un utilisateur disposant du droit d'exploitation des travaux est habilité à contrôler cette file d'attente.
- *YES
- Un utilisateur disposant du droit d'exploitation des travaux peut contrôler la file d'attente.
- *NO
- A moins de disposer de droits spéciaux, les utilisateurs disposant du droit d'exploitation des travaux ne peuvent pas contrôler cette file d'attente.
Droits à vérifier (AUTCHK)
Indique le type de droits permettant à l'utilisateur de contrôler la file d'attente de travaux, c'est-à-dire de la suspendre ou de la libérer. Les utilisateurs disposant de droits spéciaux peuvent également contrôler la file d'attente de travaux.
- *OWNER
- Le demandeur doit disposer du droit de propriété sur la file d'attente en sortie pour que le test d'autorisation sur la file d'attente aboutisse. Il dispose de ce droit s'il est propriétaire de la file d'attente, qu'il partage un profil de groupe avec le propriétaire ou qu'il exécute un programme qui adopte le droit du propriétaire.
- *DTAAUT
- Tout utilisateur disposant des droits d'ajout, de lecture et de suppression sur la file d'attente de travaux peut la contrôler.
Droits (AUT)
Indique les droits que vous accordez aux utilisateurs qui n'ont pas de droits spécifiques sur l'objet, qui ne figurent pas sur une liste d'autorisation ou dont le profil de groupe ou les profils du groupe supplémentaire ne disposent pas de droits spécifiques sur l'objet.
- *USE
- Le droit d'utilisation permet d'effectuer des opérations élémentaires sur la file d'attente de travaux, telles que soumettre des travaux à cette file.
- *CHANGE
- Le droit de modification permet à l'utilisateur de contrôler des travaux soumis par d'autres utilisateurs sous réserve que *DTAAUT ait été indiqué au paramètre AUTCHK (Droits à vérifier).
- *ALL
- L'utilisateur peut effectuer toutes les opérations, à l'exception de celles réservées au propriétaire ou soumises au droit de gestion de la liste d'autorisation (*AUTLMGT). L'utilisateur a un droit d'existence sur l'objet Il peut également effectuer des fonctions de base sur ce dernier, le modifier, définir son niveau de protection et en transférer la propriété.
- *EXCLUDE
- L'utilisateur n'a pas accès à l'objet.
- *LIBCRTAUT
- Les droits sur l'objet correspondent à la valeur indiquée au paramètre CRTAUT (Droits pour objets créés) de la bibliothèque dans laquelle l'objet est créé. Si cette valeur est modifiée, elle n'affectera pas les objets existants.
- nom
- Indiquez le nom d'une liste d'autorisation permettant de déterminer les droits sur l'objet. Les utilisateurs qui figurent dans la liste bénéficient des droits sur l'objet définis dans la liste. La liste d'autorisation doit exister lors de la création de l'objet.
Exemples
CRTJOBQ JOBQ(DEPTA) AUT(*EXCLUDE)
TEXT('File d'attente spéciale pour les travaux Dept A')
Cette commande permet de créer la file d'attente de travaux DEPTA et de la placer dans la bibliothèque en cours. Le paramètre AUT(*EXCLUDE) étant défini et le paramètre OPRCTL(*YES) pris par défaut, la file d'attente de travaux est utilisée et gérée uniquement par l'utilisateur qui l'a créée et par les utilisateurs bénéficiant du droit d'exploitation des travaux (*JOBCTL). Les utilisateurs bénéficiant du droit de gestion du spoule (*SPLCTL) peuvent également intervenir sur la file d'attente.
Messages d'erreur
Messages *ESCAPE
- CPF2182
- Non autorisé à utiliser la bibliothèque &1.
- CPF2192
- L'objet &1 ne peut être créé dans la bibliothèque &3.
- CPF2207
- Non autorisé à utiliser objet &1 de &3 type *&2.
- CPF3323
- La file d'attente de travaux &1 de &2 existe déjà.
- CPF3351
- Bibliothèque temporaire &1 incorrecte pour file d'attente de travaux &2.
- CPF3354
- Bibliothèque &1 non trouvée.
- CPF3356
- Impossible d'allouer la bibliothèque &1.
- CPF3371
- Profil utilisateur QSPL endommagé ou non trouvé.
- CPF9818
- Objet &2 non créé dans la bibliothèque &3.
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.