Automate (FAQ)

De Wiki1000

Sommaire


Exécution de plusieurs tâches

Par défaut l'automate n'exécute qu'une tâche à la fois.

Si une tâche est en cours d'exécution les tâches prêtes à être exécutées seront retardées.

Par exemple si un utilisateur lance un traitement long, comme la mise en historique, à partir de l'interface Web les tâches planifiées seront bloquées durant l'exécution du traitement.

Il est possible de configurer l'automate pour exécuter plusieurs tâches simultanément, dans le fichier de configuration ajouter la ligne suivante :

 Automate Task Count = 2

après la ligne

Automate Started=1


Une tâche planifiée ne se déclenche pas malgré que la condition d'évènement soit remplie.

1. Vérifier que la colonne InExecution de la table TDBMAUTOMATE n'est pas positionné à 1.

Cette colonne est positionnée durant l'exécution et empêche toute nouvelle exécution.
select * from TDBMAUTOMATLINE where inExecution=1

puis si la tâche est présente

update TDBMAUTOMATLINE set inExecution=0 where oid="oid de la ligne concernée"

2. Vérifier que la ligne d'automate n'est pas présente dans la file d'attente d'exécution de l'automate

select * from TDBMTASKQUEUE where oidAutomatLine="oid de la ligne d'automate"

si des lignes sont présentes supprimer ces lignes :

delete TDBMTASKQUEUE where oidAutomatLine="oid de la ligne d'automate"
Info-20px.png Note : La table TDBMTASKQUEUE est une file d'attente intermédiaire permettant d'assurer qu'une tâche n'est déclenchée qu'une fois. Elle comporte une clé unique qui empêche d'insérer deux fois la même tâche. Elle peut donc bloquer l'exécution de tâche répétitive qui ne se termine pas normalement mais pas l'exécution de tâche exécutée qu'une fois.

Comment configurer un automate multi-ligne ?

Etat Evènement Etat Suivant Etat si erreur
0 Planification 1 -1
1 Immédiat 2 -1
2 Immédiat 3 -1
3 Immédiat -1 -1
Outils personnels