MODIFY_SYSTEM

Fonction de script : Traite les actions de ServiceManager, les modifications de queues, contrôle les étapes pour un scénario de ZDU (mise à niveau sans interruption de service) et pour la CAU (mise à niveau centralisée des agents).

Cet élément de script peut être utilisé pour traiter quatre types de tâches différents :

  1. Exécuter les actions d'un ServiceManager qui est connecté au système AE.
  2. Modifier les valeurs ou statuts d'objets queue (démarré / arrêté).
  3. Changer la direction du traitement pendant un scénario de mise à niveau sans interruption de service ou finaliser la phase de mise à niveau sans interruption de service.
  4. Exécuter les actions pour traiter une CAU (mise à niveau centralisée des agents).

L'action de la fonction de script à exécuter dépend des paramètres indiqués. A ce sujet, reportez-vous aux descriptions de syntaxe ci-dessous.

Vous ne pouvez démarrer les processus serveur et les agents en utilisant cet élément de script que si un ServiceManager correctement configuré et connecté au système AE est disponible. Référez-vous également aux paramètres de la page Attributs des objets Agent ou Serveur (Page Attributs).

Queue

Syntaxe

MODIFY_SYSTEM (Action, Queue, Value)

Syntaxe

Description / format

Action

Définit les modifications qui doivent être apportées aux objets queue
Format : littéral de script ou variable de script

Valeurs autorisées :

  • MODE : statut de la queue, démarre / arrête l'exécution des tâches de la queue
  • MAX_SLOTS : nombre maximal de tâches exécutées en parallèle (max. slots)
  • PRIORITY : priorité de la tâche

Queue

Nom de l'objet queue à modifier.
Format : littéral de script ou variable de script

Value

Valeur pour le paramètre ou le statut à modifier (Action).
Format : littéral de script ou variable de script

Les valeurs autorisées dépendent de l'action sélectionnée :

MODE : GO ou STOP
MAX_SLOTS : Nombre entre 0 and 99999 ou UNLIMITED
PRIORITY : Nombre de 0 à 255

Si le statut des objets queue (démarré / arrêté) est modifié à l'aide de l'élément de script (action : MODE), le nouveau statut s'applique jusqu'à la prochaine modification. Toute modification de la priorité ou du nombre maximal de slots de queue reste valide tant que les valeurs ne sont pas modifiées par une exception ou manuellement par un utilisateur (voir Prendre en compte l'ERT dans les objets queue.

Le nombre maximum de tâches exécutées en parallèle n'est pas limité si le nombre maximum de slots des objets queue est modifié à UNLIMITED.

Exemple

L'exemple suivant illustre la définition du statut de l'objet queue QUEUE.JOBS sur GO.

:SET &RET# = MODIFY_SYSTEM("MODE", "QUEUE.JOBS", "GO")
:IF &RET# = "0"
: PRINT "Processing the Queue object QUEUE.JOBS has successfully been activated."
:ELSE
: PRINT "QUEUE.JOBS: Error when changing the status to GO."
:ENDIF

Liste des codes de retour possibles en cas de modification des objets Queue :

Codes retour

0 : l'action définie pour cette fonction de script a été traitée avec succès.
11901 : l'objet Queue spécifié est introuvable dans le client.
20836 : une valeur non valide a été spécifiée pour le nombre max de slots ou la priorité de l'objet Queue.
20837 : une valeur non valide a été spécifiée pour le paramètre MOD.

Service Manager

Syntaxe

MODIFY_SYSTEM (Action, Name [,Server mode])

Syntaxe

Description / format

Action

Définit l'action qui doit être exécutée pour les agents, les processus serveur ou le système AE.
Format : littéral de script ou variable de script

Valeurs autorisées :

STARTUP : démarre un agent ou un processus serveur.
TERMINATE : arrête un agent ou un processus serveur.
SHUTDOWN : arrête intégralement le système AE.
CHANGE_MODE : modifie le mode d'un processus de travail serveur (WP).
DISCONNECT : ferme la connexion de l'agent puis la rétablit.

Name

Nom de l'agent ou du processus serveur qui doit être démarré, arrêté ou dont le mode doit être modifié.
Format : littéral de script ou variable de script

Server mode

Mode pour lequel le WP indiqué doit être modifié.
Format : littéral de script ou variable de script

Ce paramètre n'est nécessaire que pour modifier le mode d'un WP (action CHANGE_MODE).

Valeurs autorisées :
D: Processus de dialogue
W : Processus de travail

L'élément de script MODIFY_SYSTEM permet aussi de démarrer ou d'arrêter des processus serveur ou des agents, ou de modifier le mode des processus de travail du serveur.

L'action STARTUP ne peut être utilisée que si un ServiceManager est disponible et que l'agent ou le processus serveur à démarrer a été correctement configuré. Référez-vous également aux paramètres de la page Attributs des objets Agent ou Serveur (Page Attributs).

Pour arrêter le système AE avec "SHUTDOWN", la valeur AE doit être utilisée pour le paramètre Name (voir : :SHUTDOWN).

Le paramètre Mode serveur doit être indiqué lorsque le mode d'un processus de travail serveur doit être modifié (action : CHANGE_MODE). Le paramètre Mode serveur ne doit pas être utilisé en combinaison avec les actions STARTUP, TERMINATE, DISCONNECT et SHUTDOWN.

Exemple

Arrêt de l'agent WIN01 :

Liste des codes de retour possibles en cas de modification de ServiceManager :

Codes retour

11677 : le ServiceManager n'a pas pu être appelé : Aucun CP ne démarre.
11678 : le serveur ou l'agent n'a pas été démarré.
11679 : requête du ServiceManager réussie.
11680 : aucune connexion n'a pu être établie au ServiceManager ou le processus indiqué est introuvable dans le ServiceManager.
11681 : le ServiceManager n'a pas pu être appelé, car le type d'hôte indiqué n'est pas pris en charge.
11682 : le ServiceManager n'a pas pu être appelé : l'agent / le processus serveur indiqué est introuvable.
11683 : le ServiceManager n'a pas pu être appelé, car le serveur n'est pas connecté au ServiceManager indiqué ou que la même requête est déjà exécutée.

Mise à niveau sans interruption de service

Syntaxe

MODIFY_SYSTEM (Action, Value)

Syntaxe

Description / format

Action

Valeur autorisée ZERO_DOWNTIME_UPGRADE : contrôle de la mise à niveau sans interruption de service.

Value

Ce paramètre sera utilisé pour acheminer les messages à traiter par les nouveaux ou anciens WP / CP.

Valeurs autorisées :

BEGIN : définit UC_SYSTEM_SETTINGS / ZERO_DOWNTIME_UPGRADE à "Y"

END : définit UC_SYSTEM_SETTINGS / ZERO_DOWNTIME_UPGRADE à "N", seulement possible avant de commencer le processus de mise à niveau

UPGRADE : mode de mise à niveau.
La file d'attente des messages appartenant aux nouveaux CP et WP sera activée. Le rôle PWP bascule à un nouveau WP. Les messages seront envoyés au nouveau traitement, alors que l'ancien traitement sera supprimé.

ROLLBACK : mode de rollback.
La file d'attente des messages appartenant aux anciens CP et WP sera activée. Les messages seront renvoyés vers l'ancien traitement, alors que le nouveau traitement sera supprimé.

FINALIZE : finalise la phase de mise à niveau sans interruption de service en définissant la file d'attente des messages active comme base et en réinitialisant UC_SYSTEM_SETTINGS / ZERO_DOWNTIME_UPGRADE à "N"

Utiliser pour effectuer une mise à niveau sans interruption de service seulement, lorsque UC_SYSTEM_SETTINGS / ZERO_DOWNTIME_UPGRADE vaut Y

La mise à niveau de la base de données doit d'abord être correctement traitée. Au moins un CP et un WP de la nouvelle version doivent être en état de fonctionnement.

Pour plus de détails, reportez-vous au document "Mise à niveau sans interruption de service - Procédure de mise à niveau".

Exemple

Cet exemple affiche les paramètres nécessaires pour démarrer le rollback:

:SET &RET# = MODIFY_SYSTEM("ZERO_DOWNTIME_UPGRADE", "ROLLBACK")

Liste des codes de retour possibles pour la mise à niveau sans interruption de service :

Codes retour

0 : l'action définie pour cette fonction de script a été traitée avec succès.
11895 : avertissement pour Zero_Downtime_Upgrade : Aucun CP ou WP actif n'a été trouvé pour la version active. Le mode [spécifié] a été activé.
20833 : erreur d'exécution dans l'objet [spécifié] : MODIFY_SYSTEM(ZERO_DOWNTIME_UPGRADE) non valide avec code op [spécifié]. ZERO_DOWNTIME_UPGRADE non défini dans UC_SYSTEM_SETTINGS.
20846 : erreur d'exécution dans l'objet [spécifié] : MODIFY_SYSTEM(ZERO_DOWNTIME_UPGRADE) non valide avec code op [spécifié]. Version de mise à niveau introuvable dans BD. Chargez d'abord la version avec AE DB Load.
20890 : erreur d'exécution dans l'objet [spécifié] : Erreur dans MODIFY_SYSTEM. La fonction [action spécifiée] n'est pas autorisée pour le code op ZERO_DOWNTIME_UPGRADE.
20891 : erreur d'exécution dans l'objet [spécifié] : ZERO_DOWNTIME_UPGRADE - ROLLBACK impossible. Il y a encore des agents [spécifié] connectés avec la version > [spécifié].
20892 : Erreur d'exécution dans l'objet [spécifié] : ZERO_DOWNTIME_UPGRADE - ROLLBACK impossible. Il y a encore des tâches [spécifiées] actives avec la version > [spécifié].
20893 : erreur d'exécution dans l'objet [spécifié] : ZERO_DOWNTIME_UPGRADE - UPGRADE impossible. Aucun processus de travail avec la version de mise à niveau active.
20894 : Erreur d'exécution dans l'objet [spécifié] : ZERO_DOWNTIME_UPGRADE - ROLLBACK impossible. Mode Rollback déjà actif.
20895 : erreur d'exécution dans l'objet [spécifié] : ZERO_DOWNTIME_UPGRADE - UPGRADE impossible. Mode Upgrade déjà actif.
20896 : erreur d'exécution dans l'objet [spécifié] : ZERO_DOWNTIME_UPGRADE - FINALIZE impossible. Mode Upgrade non actif.
20897 : erreur d'exécution dans l'objet [spécifié] : MODIFY_SYSTEM(ZERO_DOWNTIME_UPGRADE) non valide avec code op [spécifié]. Version de base introuvable dans la base de données.
20898 : erreur d'exécution dans l'objet [spécifié] : MODIFY_SYSTEM(ZERO_DOWNTIME_UPGRADE) non valide avec code op [spécifié]. ZERO_DOWNTIME_UPGRADE déjà défini sur "Y".
20899 : erreur d'exécution dans l'objet [spécifié] : ZERO_DOWNTIME_UPGRADE - FINALIZE_ROLLBACK impossible. Mode Rollback non actif.
20900 : erreur d'exécution dans l'objet [spécifié] : ZERO_DOWNTIME_UPGRADE - END impossible. Mode Upgrade toujours actif. Utiliser d'abord FINALIZE.
20901 : erreur d'exécution dans l'objet [spécifié] :ZERO_DOWNTIME_UPGRADE : [action spécifiée] impossible. Les CP de l'ancienne version ont encore des connexions ouvertes.
20902 : erreur d'exécution dans l'objet [spécifié] :ZERO_DOWNTIME_UPGRADE : [action spécifiée] impossible. MQWP contient encore des entrées.
20903 : erreur d'exécution dans l'objet [spécifié] :ZERO_DOWNTIME_UPGRADE : [action spécifiée] impossible. Il y a encore des entrées dans MQJWP.
29177 : UCUDB : ZERO_DOWNTIME_UPGRADE - la mise en cache de la structure de table n'est plus utilisée.
29178 : UCUDB : ZERO_DOWNTIME_UPGRADE - la mise en cache de la structure de table est activée.
38276 : seul ZERO_DOWNTIME_UPGRADE = Y est autorisé si un système est actif.

Mise à niveau centralisée de l'agent

Vous devez effectuer l'importation des packages de mise à niveau pour la CAU dans le client système 0000.

La CAU peut être exécutée à partir de n'importe quel client de votre système, si les agents que vous souhaitez mettre à niveau et le ou les utilisateurs en ont les autorisations correspondantes.

Syntaxe

MODIFY_SYSTEM (Action, Sub function, Agent(s), Version[,FORCED][,Custom text])

Syntaxe

Description / format

Action

Valeur autorisée : AGENT_UPGRADE : mise à niveau centralisée de l'agent

Sub-function

Valeurs autorisées :

DEPLOY : déploie un agent spécifié par le paramètre Version.

SKIP_WAITING : ignore un déploiement enregistré pour les agents actuellement inactifs ou occupés.

Agent(s)

Référence à une séquence de données ou un filtre sur un nom d'agent auquel l'action doit s'appliquer.

Format : littéral de script ou variable de script

Version

Version sémantique intégrale vers laquelle l'agent doit être mis à niveau, nom d'objet Stockage ou littéral 'LATEST'.

Exemple :

"12.0.0+BUILD.2112"
ou
"LATEST" pour la dernière version disponible de l'agent, représentée par un package APM dans le client système 0000 actuel.

Format : littéral de script ou variable de script

N'utilisez ce paramètre que combiné à la valeur DEPLOY du paramètre Sous-fonction.

FORCED

Valeur fixe :

FORCED (optionnel)

Ce paramètre implique que le système ne vérifie pas si un agent a une connexion ServiceManager active (à n'utiliser qu'avec DEPLOY).

Custom text

Texte libre (optionnel)

Longueur max. = 20

Caractères autorisés : Les mêmes que pour les noms de workflows dans la Onglet Général.

Si ce paramètre est défini, le texte est utilisé en tant que préfixe de nom pour l'enregistrement des statistiques de niveau supérieur à la place de CAU (uniquement utilisé avec DEPLOY).

Pour obtenir un guide détaillé de la manière de procéder à une CAU, se référer au document CAU - Procédure de mise à niveau

L'utilisateur exécutant ces scripts doit posséder le privilège Exécution mise à niveau du système.

Exemples

Exemple de script déployant de nouveaux agents :

:SET&HND#=PREP_PROCESS_AGENTGROUP("AGENTGROUP_WINDOWS")
:SET&RUNID#=MODIFY_SYSTEM (AGENT_UPGRADE, DEPLOY, &HND#, "LATEST", FORCED, "MYHOTFIXUPGRADE" )
!OR
!:SET &RUNID# = MODIFY_SYSTEM (AGENT_UPGRADE, DEPLOY, &HND#, "12.0.0+BUILD.2112", FORCED, "MYHOTFIXUPGRADE" )
:IF&RUNID#= 0
:SET&MSGNR#=SYS_LAST_ERR_NR()
:SET&MSGINSERT#=SYS_LAST_ERR_INS()
:SET&MSG# = GET_MSG_TXT(&MSGNR#, &MSGINSERT#)
:SEND_MSG&$USER#, &$DEPARTMENT#, &MSG#
:ENDIF

Exemple de script pour ignorer la mise à niveau des agents en attente :

:SET &SKIPCOUNT# = MODIFY_SYSTEM (AGENT_UPGRADE, SKIP_WAITING, "AGENTNAMEORFILTER")
:SET&MSGNR# = SYS_LAST_ERR_NR()
:IF&MSGNR# > 0
:SET&MSGINSERT#=SYS_LAST_ERR_INS()
:SET&MSG#=GET_MSG_TXT(&MSGNR#, &MSGINSERT#)
:SEND_MSG&$USER#, &$DEPARTMENT#, &MSG#
:ENDIF

Liste des codes de retour possibles pour la mise à niveau centralisée de l'agent :

En présence du code retour 0, utilisez SYS_LAST_ERR_NR() et SYS_LAST_ERR_INS() pour vérifier d'éventuelles erreurs.

Codes retour

Codes retour possibles pour l'action AGENT_UPGRADE DEPLOY

0 : Lancement mise à niveau impossible. Vérifiez la ou les raisons, en utilisant SYS_LAST_ERR_NR() et SYS_LAST_ERR_INS().
>0 : RunID pour l'ensemble du processus de mise à niveau, qui possède une ligne de rapport pour chaque agent traité.

Valeur de retour pour l'action AGENT_UPGRADE SKIP_WAITING

>= 0 : AGENT_UPGRADE : Nombre de mises à niveau ignorées avec succès.

Voir aussi :