【泛微ecology】查询某个流程所有请求的每个节点操作者的耗时(相当于流程状态页的耗时)
发布人:shili8
发布时间:2025-01-06 21:10
阅读次数:0
**泛微Ecology 查询流程所有请求的每个节点操作者的耗时**
在泛微Ecology中,流程执行过程中会涉及多个节点,每个节点可能由不同的用户操作。为了统计流程执行的耗时,我们需要查询每个节点的操作者及其对应的耗时。
**需求分析**
* 需要获取流程所有请求的每个节点操作者的耗时* 需要支持流程状态页的耗时统计**解决方案**
我们可以使用泛微Ecology提供的API接口来实现这个功能。具体步骤如下:
1. **获取流程所有请求**: 使用`/ecology/api/v2/workflow/{workflowId}/requests`接口获取流程所有请求。
2. **循环每个请求**: 遍历每个请求,使用`/ecology/api/v2/workflow/{workflowId}/request/{requestId}`接口获取请求的详细信息。
3. **获取节点操作者和耗时**: 使用`/ecology/api/v2/workflow/{workflowId}/node/{nodeId}`接口获取每个节点的操作者及其对应的耗时。
**代码示例**
javaimport java.util.ArrayList; import java.util.List; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestControllerpublic class WorkflowController { @GetMapping("/workflow/requests") public ListgetWorkflowRequests() { // 获取流程所有请求 List requests = new ArrayList<>(); // ... return requests; } @GetMapping("/workflow/request/{requestId}") public WorkflowRequest getRequest(@PathVariable String requestId) { // 获取请求的详细信息 WorkflowRequest request = new WorkflowRequest(); // ... return request; } @GetMapping("/workflow/node/{nodeId}") public Node getNode(@PathVariable String nodeId) { // 获取每个节点的操作者及其对应的耗时 Node node = new Node(); // ... return node; } } class WorkflowRequest { private String requestId; private List nodes; // ... } class Node { private String nodeId; private String operator; private Long timeConsumed; // ... }
**API接口**
泛微Ecology提供的API接口如下:
* `/ecology/api/v2/workflow/{workflowId}/requests`: 获取流程所有请求* `/ecology/api/v2/workflow/{workflowId}/request/{requestId}`: 获取请求的详细信息* `/ecology/api/v2/workflow/{workflowId}/node/{nodeId}`: 获取每个节点的操作者及其对应的耗时**注意**
* 需要在泛微Ecology中配置API接口的访问权限和安全策略。
* 需要使用合适的HTTP请求方式(GET、POST、PUT、DELETE等)来调用API接口。
以上是泛微Ecology 查询流程所有请求的每个节点操作者的耗时的解决方案。