Thread pools

Thread pools (TP) automate activities (including sleep) by threads in that pool. Each thread in a pool controls a separate automatic activity. Thread pools can also be associated with synchronous maps.

TotalAgility provides the following thread pools out of the box.

  • Default Thread Pool

  • Default Transformation Server Thread Pool

  • Knowledge Base Thread Pool

Default Thread Pool: This thread pool is available for non-capture automatic activities. It contains 16 threads, which means that TotalAgility can execute 16 automatic activities simultaneously. Additional activities queue up on the thread pool queue (TPQ) and execute on a first-come, first-served basis.

Default Transformation Server Thread Pool: This thread pool is available for Capture automatic activities. It enables you to assign specific Transformation Server instances to process different jobs, allowing you to dedicate certain instances to high-priority tasks.

Knowledge Base Thread Pool: This thread pool is automatically assigned to a newly created "Add to Knowledge Base" activity. It contains 32 threads. As this activity can take a while to execute when adding a large document, the Knowledge Base Thread Pool prevents this activity from interfering with the performance of other types of activities.

You cannot modify the name or delete the default thread pools; however, you can change their other settings.

You can create multiple thread pools. Multiple thread pools offer the following advantages:

  • Lets you put long-running activities onto a separate thread pool. This prevents long-running activities from delaying other short-running activities. For example, with two thread pools, the short-running activities on thread pool one do not wait for the completion of the long-running activities on thread pool two.

  • Control the number of concurrent calls, reduce the site size, and minimize potential performance delays. This is useful where an automatic activity uses a third-party object method licensed for a limited number of concurrent calls. For example, an email server may only be able to handle 10 concurrent calls at one time. You could set up a thread pool with 10 threads to efficiently handle the processing of these automatic email activities.

Once thread pools are created, you can use these thread pools in a process.

Only on-premise TotalAgility supports thread pools; TotalAgility running in on-premise multi-tenant or Azure environments does not support them.

How to: Add a thread pool