Rollbacks
Les Rollbacks restaurent les workflows ou les tâches d'un workflow, en revenant à un état antérieur du processus d'exécution. La fonction de restauration vous permet de résoudre des erreurs et d'annuler des modifications. Si vous êtes
Important ! La restauration est possible tant que la tâche n'est pas encore désactivée et encore visible dans le moniteur de workflow. L'exécution peut être terminée complètement ou partiellement. Si le workflow que vous restaurez est un workflow enfant, le workflow parent ne doit pas être terminé.
Cette rubrique contient les sujets suivants :
Présentation
L'exécution d'une tâche dans un workflow dépend de l'exécution de celle la précédant. Une tâche ne peut pas se terminer avec succès si celle qui la précède échoue ou ne donne pas le résultat escompté. La restauration restaure les tâches et les workflows à leur dernier statut sans erreur et vous permet de ré-exécuter la tâche ayant échoué.
Types de restauration
Créez vos propres objets personnalisés pour effectuer des sauvegardes et des restaurations ou utilisez les traitements basés sur les fichiers proposés avec le produit. Vous pouvez combiner des restaurations personnalisées et celles basées sur les fichiers.
-
Personnalisée
Créez les objets exécutables qui effectueront les opérations de sauvegarde et de restauration. Affectez-les aux objets exécutables pour lesquels vous souhaitez pouvoir activer la restauration.
-
Basée sur des fichiers (Jobs UNIX et Windows, et Transferts de fichiers uniquement)
Processus de restauration de fichier préconfigurés. Les fichiers traités par une tâche sont automatiquement enregistrés dans un dossier de sauvegarde (<Backup folder>/<Client>/<Date>/<RunID>). Lorsque la tâche est restaurée, le système copie les fichiers vers le répertoire spécifié à la page Rollback. Si l'option Supprimer avant de restaurer est activée dans la page Rollback, le contenu du répertoire de destination est supprimé avant le début du processus de restauration. Ceci évite les erreurs lors de la copie. Les sous-dossiers ne seront supprimés que si l'option Inclure sous-répertoires est activée.
Prérequis : Définir Windows PowerShell en tant qu'interpréteur dans le fichier INI de l'agent Windows concerné. Utilisez les paramètres ECPEXE= et EXPEXT= dans la section [GLOBAL] du fichier INI. Pour plus d'informations, voir Agent Windows 64 bits.
Exemple
Fichier ECPEXE=C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe
ECPEXT=ps1
Remarque : Le système utilise les objets FILE.BACKUP.WINDOWS et FILE.ROLLBACK.WINDOWS qui sont fournis par défaut dans le client 0. Pour modifier les droits du script Powershell, ouvrez une fenêtre Powershell sur l'ordinateur Windows concerné, puis spécifiez la commande suivante :
Set-ExecutionPolicy remotesigned
Remarque : Les restaurations basées sur les fichiers sont traitées après les tâches de sauvegarde et restauration personnalisée si vous avez défini les deux types pour la tâche.
Étapes du processus de restauration
Lorsque vous définissez un objet exécutable que vous pouvez insérer dans un workflow, configurez son processus de restauration dans la Page Rollback. Une restauration se compose des étapes suivantes :
-
Sauvegarder le statut des tâches et des workflows avant leur exécution.
Les tâches de sauvegarde sont toujours exécutées et ont lieu après l'activation de l'objet, mais avant qu'il ne soit généré. Le mode d'activation de l'objet n'a pas d'importance. L'objet ne démarre que lorsque les tâches de sauvegarde sont terminées avec succès.
Si la tâche de sauvegarde se termine avec succès, la variable d'objet &RB_CBACKUP_RUNID# est automatiquement générée dans la tâche déclenchant le processus de sauvegarde. Cette variable contient le RunID de la tâche de sauvegarde.
-
Restaurer l'exécution.
Spécifiez l'objet qui annule les modifications ayant causé l'erreur d'exécution. Les restaurations ne démarrent que sur demande de l'utilisateur. Les restaurations ne peuvent être traitées que si la tâche est en mode Rollback.
Automatiser des restaurations
Vous pouvez automatiser des restaurations de la manière suivante :
- Utilisez la fonction de script ROLLBACK_UC_OBJECT pour effectuer des restaurations dans vos scripts.
- Définissez les postconditions dans les propriétés de la tâche pour automatiser les actions de restauration, telles que restaurer automatiquement le workflow parent ou supérieur.
Pour plus d'informations, voir :
- Éléments de script pour la gestion des tâches
- Onglets Précondition et Postcondition
- Liste des instructions permettant d'élaborer des conditions
Déclencher une restauration
Prérequis :
- L'option Activer le rollback doit être activée dans la page Rollback de la tâche concernée.
- La tâche de sauvegarde doit avoir créé les sauvegardes nécessaires (si la tâche requiert des sauvegardes).
- La tâche est terminée.
- Si la tâche se trouve dans un workflow, le workflow parent ou supérieur doit être encore actif.
- Si vous restaurez un workflow, le workflow lui-même doit encore être actif. Lorsque vous restaurez un workflow enfant, le workflow parent doit être encore actif
Dans la perspective Surveillance des processus, procédez selon l'une des manières suivantes pour lancer la restauration :
- Faites un clic droit dans le moniteur de workflows et sélectionnez Tâche de Rollback ou Restaurer jusqu'à cette tâche
- Faites un clic droit sur la liste Tâches et sélectionnez Tâche de rollback.
Pour plus d'informations, voir Travailler avec des tâches et Fonctions dépendant du statut de la tâche.
Le processus de restauration exécute l'objet Rollback et restaure l'état antérieur à l'exécution de la tâche. Après avoir restauré la tâche ou le workflow et remédié à la situation ayant causé la restauration, ré-exécutez la tâche ou le workflow.
Remarque : Vous pouvez exécuter les restauration de manière répétitive, sauf pour les tâches dont le statut est FAULT_*_BACKUP.
Statuts d'une tâche pendant la sauvegarde et la restauration
Le statut des tâches restaurées est actif, comme le montre le moniteur de workflow (voir Surveillance de workflows). Lorsque le processus de restauration s'achève, la tâche se termine aussi. Les tâches sans définition de restauration se terminent avec le statut ENDED_ROLLBACK_EMPTY.
Pendant les processus de sauvegarde et de restauration personnalisées, le statut des tâches est le suivant :
- Sauvegarde personnalisée
L'objet de sauvegarde personnalisée est exécuté - FAULT_CUSTOM_BACKUP
La tâche est annulée pour cause d'erreur lors de l'exécution - Rollback personnalisé
L'objet de restauration personnalisé est exécuté - FAULT_CUSTOM_ROLLBACK
La tâche a échoué pour cause d'erreur lors de l'exécution
Pendant les processus de sauvegarde et de restauration basées sur les fichiers, le statut des tâches est le suivant :
- Sauvegarde basée sur un fichier
L'objet de sauvegarde basée sur un fichier est exécuté - FAULT_FILE_BACKUP
La tâche a échoué pour cause d'erreur lors de l'exécution
Important ! Les objets Rollback ne peuvent pas démarrer lorsque la tâche a été interrompue avec le statut FAULT_CUSTOM_BACKUP ou FAULT_FILE_BACKUP. Résolvez les erreurs et redémarrez la tâche.
Restauration de workflows
Les tâches des workflows sont restaurées dans l'ordre inverse : la restauration commence par la fin du workflow et se termine par son début. Le même comportement s'applique à tous les workflows enfants. La procédure se termine lorsque les actions de restauration du Workflow démarrent.
Si la restauration d'une tâche échoue (FAULT_CUSTOM_ROLLBACK / FAULT_FILE_ROLLBACK), l'exécution de la restauration s'arrête à la branche de Workflow concernée. Supprimez l'erreur, puis relancer la restauration pour la tâche interrompue.
Remarque : Le processus de restauration ignore les propriétés des tâches du workflow (telles que la dernière heure de démarrage), mais conserve la date logique.
Restauration partielle
Utilisez la commande Restaurer jusqu'à cette tâche pour restaurer un workflow juqu'à la tâche sélectionnée. La commande récupère le chemin de restauration qui inclut tous les successeurs directs et indirects de la tâche dans le workflow. Si une tâche est encore active, le système attend qu'elle se termine, puis exécute sa restauration.
Workflows imbriqués
Si la tâche elle-même est un workflow, la restauration s'applique à toutes les tâches enfants du workflow. Le degré d'imbrication n'est pas limité. Lorsque la restauration d'un workflow enfant démarre, le statut des tâches enfants du workflow imbriqué passe à Attente de restauration.
Workflows ForEach
Les tâches des workflows en boucle sont traitées dans l'ordre inverse de la restauration. Les actions de restauration définies pour le workflow ont lieu après le traitement des tâches.
Workflows IF
Le processus de restauration a lieu pour la branche de tâches sélectionnée lors de la dernière exécution. Les actions de restauration définies pour le workflow ont lieu après la restauration de la branche de tâches.
Tâches désactivées
Le processus de restauration s'interrompt lorsqu'une tâche a été désactivée et n'apparaît plus dans la perspective Surveillance des processus. Pour poursuivre le processus de restauration lorsqu'une tâche a été désactivée, redémarrez ou sautez la tâche.
Variables dans les tâches de sauvegarde et de restauration
Automation Engine propose des variables d'objets prédéfinies vous permettant de configurer des tâches de sauvegarde et de restauration. Pour plus d'informations, voir Utiliser des variables dans les tâches de sauvegarde et de restauration.
Interrompre une restauration
Vous pouvez interrompre et annuler une restauration de la même manière qu'un workflow.
Si la restauration échoue, la restauration de ce chemin s'interrompt. Le statut des prédécesseurs reste WAITING_FOR_ROLLBACK. Lors de la restauration d'un prédécesseur, la restauration automatique se poursuit sur toutes les tâches sélectionnées. Les successeurs des tâches dont le statut est FAULT_ROLLBACK ne commencent pas la restauration.
Conseil : Combinez les fonctions, telles que sauter des tâches et des points d'arrêt avec des restaurations pour empêcher les chemins de workflow de s'exécuter une nouvelle fois.
Important ! L'interruption du client ou du workflow entraîne celle de la restauration.
Ré-exécuter des tâches après une restauration
Utilisez la commande Ré-exécuter du menu contextuel pour relancer les tâches après une restauration. Pour ré-exécuter un workflow complet, il faut qu'il soit encore actif. Vous pouvez relancer des tâches uniques, telles que des jobs, à n'importe quel moment.
La commande Ré-exécuter relance toutes les tâches du workflow dont le statut est le suivant :
-
ENDED_ROLLBACKED
Tâches dont le processus de restauration s'est terminé avec succès
Remarque : La commande Ré-exécuter n'est utile que s'il y a au moins une tâche dont le statut est ENDED_ROLLBACKED.
-
ENDED_ROLLBACK_EMPTY
Tâches dont le processus de restauration n'a pu avoir lieu pour cause de définitions manquantes
-
Attente de restauration
Tâches en attente d'exécution du processus de restauration
Remarques :
- Les conditions IF sont ré-évaluées et les tâches respectives sont exécutées
- Il vous est impossible de ré-exécuter un workflow ayant été complètement restauré (statut ENDED_ROLLBACK). Vous pouvez redémarrer le workflow.
- La commande Démarrer ne lance pas de ré-exécution. Démarrer vérifie les préconditions de toutes les tâches et les lance dans un sens. Les tâches restaurées continuent la restauration.
- Les propriétés des tâches telles que l'heure de début au plus tard sont prises en compte lorsque vous ré-exécutez le workflow. La date logique est conservée.
Variables dans les ré-exécutions
- Les variables ne sont pas remises à zéro, ni réinitialisées lorsque vous ré-exécutez une tâche.
- Les variables PromptSet réutilisent les valeurs de la dernière exécution.
- Les variables d'objets se servent de la valeur définie dans la définition d'objet.
Voir aussi :