Démarrage dʼun workflow starting-a-workflow

Un workflow est toujours démarré manuellement. Au démarrage, il peut toutefois rester inactif en fonction des informations spécifiées par le biais d'un planificateur (voir Planificateur) ou d'une planification d'activité.

Les actions liées à l'exécution du workflow de ciblage (lancement, arrêt, pause, etc.) sont des processus asynchrones  : la commande est enregistrée et est effective dès que le serveur est disponible pour l’appliquer.

La barre d'outils permet de lancer et suivre l'exécution du workflow.

La liste des options disponibles dans le menu Actions et le menu contextuel sont présentées dans les sections suivantes.

IMPORTANT
Gardez à l’esprit que, lorsque un opérateur exécute une action sur un workflow (démarrer, arrêter, mettre en pause, etc.), l'action n'est pas exécutée immédiatement, mais placée dans une file d’attente pour être traitée par le module de workflow.

Barre d'outils des actions actions-toolbar

Les boutons de la barre d'outils sont décrits dans cette section. Le bouton Actions vous donne accès à des options d'exécution supplémentaires permettant d'agir individuellement sur le ou les workflows sélectionnés. Vous pouvez également utiliser le menu Fichier > Actions ou cliquez avec le bouton droit de la souris sur un workflow et sélectionnez Actions.

  • Début

    Cette action permet de lancer l'exécution d'un workflow : un workflow Terminé, En édition ou En pause passe alors en état Démarré. Le moteur de workflow va prendre en charge l'exécution de ce workflow. Si le workflow était en pause, il s'agit d'une reprise, sinon il s'agit d'un démarrage et les activités initiales sont alors activées.

    Le démarrage est un processus asynchrone : la demande est enregistrée et sera traitée dès que possible par un serveur de workflow.

  • Pause

    Cette action a pour effet de passer le workflow En pause. Aucune activité ne sera activée jusqu'à la prochaine reprise mais les opérations en cours ne seront pas suspendues.

  • Stopper

    Cette action arrête un workflow en cours d’exécution. Le statut de l’instance est défini sur Terminé. Les opérations en cours sont interrompues, si possible. Les imports et requêtes SQL sont immédiatement annulés.

    note important
    IMPORTANT
    L’arrêt d’un workflow suit un processus asynchrone : la demande est enregistrée, puis le ou les serveurs de workflow annulent les opérations en cours. L’arrêt d’une instance de workflow peut donc prendre du temps, surtout si le workflow est exécuté sur plusieurs serveurs, car chacun d’eux doit alors prendre le contrôle pour annuler les tâches en cours. Pour éviter tout problème, attendez que l’opération d’arrêt soit terminée et n’effectuez pas plusieurs demandes d’arrêt sur le même workflow.
  • Arrêt inconditionnel

    Lorsque cette option est sélectionnée, l'état du workflow passe à Terminé. Cette action ne doit être utilisée qu'en dernier recours, lorsqu'un arrêt normal ne fonctionne pas après plusieurs minutes. N'utilisez l'arrêt inconditionnel que si vous êtes sûr qu'il n'y a aucun traitement réel en cours sur le workflow.

    note caution
    CAUTION
    Cette option est réservée à un utilisateur expert.
  • Redémarrer

    Cette action consiste à arrêter puis démarrer un workflow. Dans la plupart des cas, elle permet de redémarrer plus vite. Elle est également utile pour automatiser le redémarrage lorsque l'arrêt prend un certain temps : en effet la commande 'Démarrer' n'est disponible que lorsque l'arrêt est effectif.

    Les actions Démarrer / Pause / Stopper / Redémarrer sont également disponibles via les icônes d'exécution de la barre d'outils. Pour plus d’informations à ce sujet, consultez cette section.

    Notez que l’action Redémarrer n’efface pas les variables d’instance de workflow comme les actions Exécution, Arrêter, et Démarrer (l’effacement des variables d’instance se produisant lors de l’action Démarrer). Lors du redémarrage d’un workflow, les variables d’instance peuvent toujours être utilisées avec leurs valeurs conservées. Pour les effacer, vous pouvez effectuer l’une des opérations suivantes :

    • Effectuez les actions Arrêter et Démarrer.

    • Ajoutez le code JavaScript ci-dessous à la fin de l’exécution de votre workflow :

      code language-none
      var wkf = xtk.workflow.load(instance.id)
      wkf.variables='<variables/>'
      wkf.save()
      
  • Purge de l'historique

    Cette action vous permet de purger l'historique du workflow. Pour plus d'informations, consultez la section Purger l'historique.

  • Démarrer en mode simulation

    Cette option permet de lancer le workflow en mode simulation et non en mode réel. Cela signifie que lorsque vous activez ce mode, seules les activités qui n'ont pas d'impact sur la base de données ou le système de fichiers sont exécutées (par exemple : Requête, Union, Intersection, etc.). Les activités qui ont un impact (par exemple, Exporter, Importer, etc.) ainsi que celles qui les suivent (dans la même branche) ne sont pas exécutées.

  • Traitement anticipé des tâches en attente

    Cette action permet de lancer dès que possible toutes les tâches en attente. Si vous souhaitez lancer une tâche particulière, cliquez avec le bouton droit sur l'activité correspondante et sélectionnez Traitement anticipé de la (des) tâche(s).

  • Sauver comme modèle

    Cette action crée un nouveau modèle de workflow à partir du workflow sélectionné. Vous devez indiquer son dossier d'enregistrement (dans le champ Dossier).

    Les options Mettre à jour en masse les lignes sélectionnées et Fusionner les lignes sélectionnées sont des options génériques de la plateforme disponibles dans tous les menus Actions. Pour plus d’informations à ce sujet, consultez cette section.

Bonnes pratiques relatives à l’exécution des workflows workflow-execution-best-practices

Ne planifiez pas l’exécution d’un workflow à une fréquence supérieure à toutes les 15 minutes, car cela peut nuire aux performances générales du système et créer des blocs dans la base de données.

Évitez de laisser vos workflows en pause. Si vous créez un workflow temporaire, assurez-vous qu’il se terminera correctement et qu’il ne restera pas dans l’état en pause. S’il est en pause, cela signifie que vous devez conserver les tables temporaires et ainsi augmenter la taille de la base de données. Affectez des superviseurs dans les propriétés du workflow pour envoyer une alerte en cas d’échec ou de suspension d’un workflow par le système.

Pour éviter que les workflows soient dans un état en pause :

  • Vérifiez vos workflows régulièrement pour vous assurer qu'il n'y a pas d'erreurs inattendues.
  • Faites en sorte que vos workflows soient aussi simples que possible, en fractionnant par exemple les workflows volumineux en plusieurs workflows différents. Vous pouvez utiliser des activités Signal externe pour déclencher leur exécution selon celle d'autres workflows.
  • Évitez de conserver dans vos workflows des activités désactivées contenant des flux. Cette situation conduit à maintenir des threads ouverts et de nombreuses tables temporaires qui consomment beaucoup d’espace. Ne conservez pas, dans vos workflows, des activités se trouvant dans les états Ne pas activer ou Activer, mais ne pas exécuter.

Arrêtez les workflows qui ne sont pas utilisés. En continuant à s’exécuter, ils maintiennent les connexions avec la base de données.

N’utilisez l’arrêt inconditionnel quʼavec une extrême parcimonie. Cette action ne doit pas être appliquée régulièrement. Une fermeture incorrecte des connexions générées par les workflows vers la base de données nuit aux performances.

N’effectuez pas plusieurs demandes d’arrêt sur le même workflow. L’arrêt d’un workflow suit un processus asynchrone : la demande est enregistrée, puis le ou les serveurs de workflow annulent les opérations en cours. L’arrêt d’une instance de workflow peut donc prendre du temps, surtout si le workflow est exécuté sur plusieurs serveurs, car chacun d’eux doit alors prendre le contrôle pour annuler les tâches en cours. Pour éviter tout problème, attendez que l’opération d’arrêt soit terminée et évitez d’arrêter un workflow à de multiples reprises.

Lorsqu'une ou plusieurs activités d'un workflow sont sélectionnées, vous pouvez cliquer avec le bouton droit de la souris afin d'agir sur votre sélection.

Les options disponibles dans le menu contextuel sont les suivantes :

Ouvrir : cette option permet d'accéder aux propriétés de l'activité.

Afficher le journal : cette option permet de visualiser le journal d'exécution des tâches de l'activité sélectionnée. Pour plus d'informations, consultez la section Afficher le journal.

Traitement anticipé de la (des) tâche(s) : cette action permet de lancer dès que possible la ou les tâches en attente de l'activité.

Redémarrage du workflow à partir d'une tâche : cette option permet de redémarrer le workflow en utilisant les résultats précédemment stockés pour cette activité.

Couper/Copier/Coller/Supprimer : ces options permettent de couper, copier, coller et supprimer les activités.

Copier en tant qu'image : cette option permet d'effectuer une capture d'écran de l'ensemble des activités.

Exécution normale / Activer mais ne pas exécuter / Ne pas activer : ces options sont également disponibles dans l'onglet Avancé des propriétés de l'activité. Elles sont présentées dans la section Exécution.

Enregistrer/Annuler : permet d'enregistrer ou d'annuler les modifications effectuées sur le workflow.

NOTE
Vous pouvez sélectionner un groupe d'activités pour leur appliquer une de ces commandes.

Le menu contextuel est également présenté dans cette section.

recommendation-more-help
601d79c3-e613-4db3-889a-ae959cd9e3e1