几分钟后清除工作流程

问题描述 投票:0回答:1

我有一个工作流程步骤,如果遇到问题,则将消息和堆栈跟踪信息抛出WorkflowException,实际上-用有效载荷阻止了整个工作流程启动器。最终,工作流无限期处于RUNNING状态,并且不处理阻塞的有效负载的任何更新。这种情况需要管理员采取措施才能手动终止工作流程。

简单的工作流程如下:

@Service
@Component
@Properties({
        @Property(name = Constants.SERVICE_DESCRIPTION, value = "Workflow"),
        @Property(name = "process.label", value = "Workflow Step") })
public class WorkflowStep implements WorkflowProcess {

    @Override
    public void execute(WorkItem workItem, WorkflowSession workflowSession, MetaDataMap metaDataMap)throws WorkflowException {       
        try {
            ... doing some stuff ...
        } catch (Exception e) {
            throw new WorkflowException(e.getMessage(), e);
        }
    }
}

我想在2分钟后检查工作流程是否为COMPLETED,如果不是-终止它们以解除有效负载,然后将下一个资产上传到此路径中-再次由工作流程处理。

任何不使用CRON Scheduler的想法如何解决?

workflow aem
1个回答
1
投票

如果捕获到异常,为什么不立即终止工作流程而不是抛出WorkflowException?您可以记录所需的任何内容,处理错误然后终止...

BR,奥利弗

© www.soinside.com 2019 - 2024. All rights reserved.