Section "MultiProcessing"

testClientRunners

    <entry key="testClientRunners" type="System.Int32" default="1"></entry>

This is used for testing the multiprocessing architecture of kenaflow.

kenaflow.exe --testmain starts this amount of clients to simulate multi-processing.

retryCount

    <entry key="retryCount" type="System.Int32" default="10"></entry>

kenaflow executes various tasks in subprocesses. These subprocesses are monitored by the main process. If the contact could not be established more than this configured amount of times, then the subprocess is considered as "crashed" and the task is given to another sub process.

waitBeforeRetry

    <entry key="waitBeforeRetry" type="System.Int32" default="1000" comment="in milliseconds"></entry>

At least this amount of milliseconds must pass between two contacts to the sub process.

QueueIdleWait

    <entry key="QueueIdleWait" type="System.Int32" default="5000" comment="in milliseconds"></entry>

If the workflow execution queue is empty the kenaflow mail process will wait this amount of time before it re-checks the queue.

parentProcessCheckInterval

    <entry key="parentProcessCheckInterval" type="System.Int32" default="1000" comment="in milliseconds"></entry>

Each kenaflow sub process that was stated by the main process will monitor the main process. If this is dead the client will terminate itself.

heartbeatInterval

    <entry key="heartbeatInterval" type="System.Int32" default="1000" comment="in milliseconds"></entry>

Each kenaflow sub process that was stated by the main process sends an heartbeat to the main process.

heartbeatTimeout

    <entry key="heartbeatTimeout" type="System.Int32" default="60" comment="in seconds"></entry>

The main process terminates a sub process if the last received heartbeat is older than this amount of seconds.

Full Section Default

  <section name="multiprocessing">
    <entry key="testClientRunners" type="System.Int32" default="1"></entry>
    <entry key="retryCount" type="System.Int32" default="10"></entry>
    <entry key="waitBeforeRetry" type="System.Int32" default="1000" comment="in milliseconds"></entry>
    <entry key="QueueIdleWait" type="System.Int32" default="5000" comment="in milliseconds"></entry>
    <entry key="parentProcessCheckInterval" type="System.Int32" default="1000" comment="in milliseconds"></entry>
    <entry key="heartbeatInterval" type="System.Int32" default="1000" comment="in milliseconds"></entry>
    <entry key="heartbeatTimeout" type="System.Int32" default="60" comment="in seconds"></entry>
  </section>

Discussion