查询Liquidoffice中流产的流程
-
10-10-2019 - |
题
我们正在运行Liquidoffice 6.2.4。我们一直存在一些网络问题,有时会导致我们的Web服务任务中止。我们正在制定重试序列,以防止这变得太大问题。
但是,我们需要知道何时有流产任务的流程,以便我们采取适当的措施(可以使用管理控制台执行此操作,但没有警报)。我一直在浏览Liquidoffice Soap API尝试找到一些东西,但是到目前为止却差得很远。一旦有了可行的解决方案,我们将将此支票集成到SCOM警报中。
还有其他人做类似的事情(通过肥皂进行了过程搜索)吗?任何指导或提示都将不胜感激。我们计划在C#中实现肥皂调用。
解决方案
尽管我可以看到来自管理控制台的肥皂查询和响应,但我找不到端点以亲自连接。总的来说,无论如何,这似乎都很麻烦。因此,我想出了直接访问数据库的想法。我们将LiquidOffice数据库存储在SQL 2005实例中,因此我编写了以下查询:
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
这将返回所有失败的任务,并为您提供流程ID,过程名称,失败任务名称以及启动的日期/时间。这不是完美的,但对我们有用!
不隶属于 StackOverflow