Requête Aborted traite en LiquidOffice
-
10-10-2019 - |
Question
Nous courons LiquidOffice 6.2.4. Nous avons eu quelques problèmes de réseau qui causent parfois nos tâches de service Web pour avortent. Nous travaillons sur une séquence de nouvelle tentative pour empêcher que cela ne devienne problème un trop grand.
Cependant, il faut savoir quand il y a des processus LO avec des tâches avortés afin que nous puissions prendre les mesures appropriées (Cela peut être fait avec la console de gestion, mais il n'y a pas d'alerte). Je cherchais à travers la LiquidOffice API SOAP pour essayer de trouver quelque chose, mais ont mis peu à ce jour. Une fois que j'ai une solution viable, nous allons intégrer cette vérification dans une alerte SCOM.
Quelqu'un at-il fait quelque chose de semblable autre (une recherche a couru processus par SOAP)? Toute orientation ou des conseils seraient grandement appréciés. Nous prévoyons de mettre en œuvre les appels SOAP en C #.
La solution
Bien que je peux voir les requêtes et les réponses SOAP provenant de la console de gestion, je ne pouvais pas trouver le point final afin de se connecter à moi-même. Dans l'ensemble cela semblait être à grand tracas de toute façon. Alors je suis venu avec l'idée de frapper la base de données directement. Nous avons la base de données de LiquidOffice être stockés dans une instance SQL 2005, donc je l'ai écrit la requête suivante:
SELECT P.PROC_ID AS [ID],
REVERSE(LEFT(REVERSE(PDef.PROC_DFN_PATH),CHARINDEX('/',REVERSE(PDef.PROC_DFN_PATH))-1)) AS [Process],
T.TASK_NAME AS [Task],
DATEADD(millisecond, DATEDIFF(millisecond,GETUTCDATE(),GETDATE()), DATEADD(MINUTE, (P.START_DATE/60000), '1/1/1970')) AS [Started]
FROM dbo.CS_PROCESSES AS P
INNER JOIN dbo.CS_TASKS AS T
ON P.PROC_ID = T.PROC_ID
INNER JOIN dbo.CS_PROCESS_DFN AS PDef
ON P.PROC_DFN_ID = PDef.PROC_DFN_ID
WHERE T.[STATE] = 3
renvoie toutes les tâches qui ont échoué et vous donne l'ID de processus, le nom du processus, Échec Nom de la tâche et la date / heure le processus a été lancé. Il est pas parfait, mais ça marche pour nous!