About the Maximum Worker Threads Setting
Maximum Available Worker Threads determines the greatest number of Process Flow Runs the Application Server can execute simultaneously.
Note that one thread is always reserved for the polling process; the number of threads you specify for this parameter are the "worker threads".
For example, if an Application Server has Maximum Threads set to 3 and there are 3 pending Process Flow Runs, the server will exhibit the following behavior:
- The Application Server polls the database server.
- The Application Server downloads two of the three pending Process Flow Runs (assuming that the runs are assigned to the server or that the server can process untargeted runs).
- The Application Server executes the two Process Flow Runs simultaneously.
- When the Application Server completes a run, it frees up a thread.
- The Application Server downloads the third pending Process Flow Run at the next polling period following the completion of one of the Process Flow Runs.
The lower limit for Maximum Threads is 1. When set to 1, the Application Server can execute one Process Flow Run at a time.
The upper limit of Maximum Threads depends upon the capabilities of the specific Application Server. For example, an Application Server with multiple processors and a large amount of memory can process more concurrent threads than a slower, single-processor machine. You should test the capabilities of your Application Server prior to deployment to determine its upper limit.
By default, Maximum Threads is set to 5. You can change this number during installation or post-installation by modifying the AptifyAsyncProcessor.exe.config configuration file.