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 développeur et concepteur d'objets, configurez la procédure de restauration dans la page Page Rollback des objets susceptibles de faire partie d'un workflow. Si vous êtes développeur et concepteur d'objets, opérateur ou manager,, exécutez les restaurations des workflows ou des tâches dans le moniteur de workflow.

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.

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 :

  1. 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.

  2. 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 :

Pour plus d'informations, voir :

Déclencher une restauration

Prérequis :

Dans la perspective Surveillance des processus, procédez selon l'une des manières suivantes pour lancer la restauration :

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 :

Pendant les processus de sauvegarde et de restauration basées sur les fichiers, le statut des tâches est le suivant :

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 :

Remarques :

Variables dans les ré-exécutions

Voir aussi :