2011-01-12 8 views
1

LiquidOffice 6.2.4を実行しています。 Webサービスのタスクを中断させることがあるネットワーク上の問題がありました。私たちは、これがあまりにも大きな問題になるのを防ぐために再試行シーケンスに取り組んでいます。LiquidOfficeでのクエリの中止処理

しかし、適切な処置をとることができるように、中止されたタスクを持つLOプロセスがあることを知る必要があります(これは管理コンソールで行うことができますが、警告はありません)。私はLiquidOffice SOAP APIを試して何かを見つけようとしてきましたが、今のところこれまでには短くなっています。実行可能なソリューションがあれば、このチェックをSCOMアラートに統合します。

他の誰かが同様のことをしましたか(SOAP経由でプロセス検索を実行しましたか?)どんな指針やヒントも高く評価されます。 C#でSOAP呼び出しを実装する予定です。

答えて

1

SOAPクエリーと応答が管理コンソールから送信されているのがわかりましたが、エンドポイントを見つけて自分自身に接続できませんでした。とにかくこれは大いに面倒なようでした。だから私はデータベースを直接打つという考えを思いついた。私たちは、LiquidOfficeデータベースは、SQL 2005のインスタンスに格納されているので、私は次のクエリ書きました:これは/ ALLタスクを失敗し、あなたのプロセスIDを与え、プロセス名、タスク名を失敗し、日付を返し

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 

をプロセスが開始された時刻。それは完璧ではありませんが、それは私たちのために働く!

関連する問題