【发布时间】:2020-09-18 11:04:16
【问题描述】:
工作人员和工作流之间的比例是多少以及如何管理 线程,以便工作人员和工作流数量之间不应该中断 如果我启动更多数量的工作流,则会引发以下错误
没有足够的线程来执行工作流。如果此消息始终出现,则应减少 WorkerOptions.maxConcurrentWorklfowExecutionSize 或 WorkerOptions.maxWorkflowThreads 增加。
处于阻塞状态的工作流在内存中保持活动状态?? 处于等待状态的工作流不断检查条件??更多处于等待状态的工作流将保持工作人员被占用?? 在下面的示例中,线程正在等待信号, 工作流的数量扩展到一百万/天,timetocloseWorkflow = 2 天。 触发信号的平均时间是相应工作流程启动后 1 天
public class TestWorkflowImpl implements TestWorkflow {
private static final Logger logger = LoggerFactory.getLogger(TestWorkflow.class);
private int counter = 0;
private final CounterPrintActivity cpa = Workflow.newActivityStub(CounterPrintActivity.class);
@Override
@WorkflowMethod
public String startWorkflow() {
Workflow.await(() ->counter >= 1000);
return "Complete";
}
@Override
public int getCurrentStatus() {
return counter;
}
@Override
public void setCount(int setNum) {
logger.info("In signal");
counter = counter+setNum;
}
--
【问题讨论】:
标签: cadence-workflow temporal-workflow