2011-01-12 3 views
1

Wir betreiben LiquidOffice 6.2.4. Wir haben einige Netzwerkprobleme, die manchmal dazu führen, dass unsere Webservice-Aufgaben abgebrochen werden. Wir arbeiten an einer Wiederholungssequenz, um zu verhindern, dass dies zu einem großen Problem wird.Abgebrochene Prozesse in LiquidOffice abfragen

Wir müssen jedoch wissen, wann es LO-Prozesse mit abgebrochenen Tasks gibt, damit wir entsprechende Maßnahmen ergreifen können (Dies kann mit der Management Console erfolgen, es erfolgt jedoch keine Alarmierung). Ich habe die LiquidOffice SOAP-API durchsucht, um etwas zu finden, aber ich bin bisher zu kurz gekommen. Sobald ich eine brauchbare Lösung gefunden habe, integrieren wir diese Prüfung in eine SCOM-Warnung.

Hat jemand anderes etwas Ähnliches getan (hat eine Prozesssuche über SOAP ausgeführt)? Jede Anleitung oder Hinweise würden sehr geschätzt werden. Wir planen, die SOAP-Aufrufe in C# zu implementieren.

Antwort

1

Obwohl ich die SOAP-Abfragen und -Antworten sehen kann, die von der Management Console kommen, konnte ich den Endpunkt nicht finden, um mich selbst damit zu verbinden. Alles in allem schien das zu einem großen Ärger. Also kam ich auf die Idee, die Datenbank direkt zu treffen. Wir haben die Liquidoffice-Datenbank in einer SQL 2005-Instanz gespeichert werden, so schrieb ich die folgende Abfrage:

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 

Dieses scheiterten Aufgaben zurück und gibt Ihnen den Prozess-ID, Prozessnamen, fehlgeschlagen Aufgabennamen und das Datum/Zeit, zu der der Prozess gestartet wurde. Es ist nicht perfekt, aber es funktioniert für uns!