【问题标题】:Purging workflow after couple minutes几分钟后清除工作流程
【发布时间】:2020-03-26 16:18:36
【问题描述】:

我有一个工作流步骤,如果遇到问题,会抛出 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】:

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

    BR, 奥利弗

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-13
      • 1970-01-01
      • 2017-12-01
      • 2019-04-09
      • 2020-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多