feat(flow): 添加任务执行入口和实例管理功能
- 在 FlowTaskRuntimeEntry 中添加事务注解支持 - 为 FlowTaskRuntimeService 接口添加方法间隔 - 在 TeFlowController 中引入任务实例ID列表管理 - 新增 demo 接口用于任务执行和实例清理 - 实现任务实例的自动停止和清理机制 - 集成 flowControlService 的 stop 功能用于流程控制
This commit is contained in:
parent
3868194932
commit
79da694baf
@ -27,6 +27,8 @@ import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Api(tags = "测试--流程服务")
|
||||
@RestController
|
||||
@ -41,13 +43,31 @@ public class TeFlowController extends BaseController {
|
||||
private final FlowControlService flowControlService;
|
||||
private final FlowActionExecutorService flowActionExecutorService;
|
||||
private final TiTouchOperateService tiTouchOperateService;
|
||||
|
||||
private final List<String> taskInstIdList = new ArrayList<>();
|
||||
@ApiOperation("流程发布")
|
||||
@PostMapping("/publish")
|
||||
public AjaxResult publish(@RequestBody TeDetectionItem detectionItem) {
|
||||
return toAjax(teDetectionItemService.publish(detectionItem.getId()));
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("任务执行入口")
|
||||
@PostMapping("/demo")
|
||||
@Anonymous
|
||||
public AjaxResult demo(@Valid @RequestBody TeTaskExecuteNormalVO taskExecuteNormalVO) {
|
||||
if (taskInstIdList.size() > 0) {
|
||||
try {
|
||||
taskInstIdList.forEach(flowControlService::stop);
|
||||
} catch (Exception e) {
|
||||
// 忽略
|
||||
}
|
||||
taskInstIdList.clear();
|
||||
}
|
||||
String insId = flowTaskRuntimeService.executeTask(taskExecuteNormalVO);
|
||||
taskInstIdList.add(insId);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
@ApiOperation("任务执行入口")
|
||||
@PostMapping("/execute")
|
||||
@Anonymous
|
||||
|
||||
@ -42,6 +42,8 @@ public class FlowTaskRuntimeEntry implements FlowTaskRuntimeService {
|
||||
private final TaskInstHolder taskInstHolder;
|
||||
private final FlowTaskAsyncDispatcher flowTaskAsyncDispatcher;
|
||||
|
||||
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public String executeTask(TeTaskExecuteNormalVO taskExecuteNormalVO) {
|
||||
return executeTaskInternal(
|
||||
|
||||
@ -18,6 +18,7 @@ public interface FlowTaskRuntimeService {
|
||||
*/
|
||||
String executeTask(TeTaskExecuteNormalVO taskExecuteNormalVO);
|
||||
|
||||
|
||||
/**
|
||||
* 执行试运行任务(TRIAL 模式)
|
||||
*
|
||||
|
||||
Loading…
Reference in New Issue
Block a user