几分钟后清除工作流程
Purging workflow after couple minutes
我有一个工作流程步骤,如果遇到问题,会抛出 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
的情况下解决它吗?
如果捕获到异常,为什么不立即终止工作流而不是抛出 WorkflowException?
你可以记录任何你想要的,处理错误然后终止...
BR,
奥利弗
我有一个工作流程步骤,如果遇到问题,会抛出 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
的情况下解决它吗?
如果捕获到异常,为什么不立即终止工作流而不是抛出 WorkflowException? 你可以记录任何你想要的,处理错误然后终止...
BR, 奥利弗