0

ワーカーとワークフローの比率と、ワーカーとワークフローの数の間で停止が発生しないようにスレッドを管理する方法エラーがスローされた後、より多くのワークフローを開始すると

ワークフローを実行するのに十分なスレッドがありません。このメッセージが常に表示される場合は、WorkerOptions.maxConcurrentWorklfowExecutionSize を減らすか、WorkerOptions.maxWorkflowThreads を増やす必要があります。

ブロッキング状態のワークフローはメモリ内でアクティブなままになりますか?? 待機状態のワークフローは継続的に条件をチェックします??待機状態のワークフローの数が増えると、作業者は占有され続けます?? 以下の例では、スレッドはシグナルを待っています。ワークフローの数は 100 万/日、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;
 }

--

4

1 に答える 1