A Thread Pool is a collection of worker threads which execute Unattended Activities.
Thread Pools are populated with threads when instances of the Activity Processing service are installed. Each Activity Processing service is configured with a property indicating the Thread Pool to which it belongs. All threads managed by the service instance will then belong to the assigned thread pool.
Each Batch Process Step specifying an Unattended Activity must designate the Thread Pool on which the activity will execute.
New Grooper repositories initialize with a single Thread Pool named 'Default'. In many cases, this single Thread Pool is sufficient for running all activities. In other cases, multiple Thread Pools may need to be created.
Some activities, such as the Render activity, have a PerMachine concurrency model, meaning that only one instance of the activity can execute at a time on a single server. In such cases, a Thread Pool specifying PerMachine concurrency would be created, and a single-thread instance of the Activity Processing service would be installed on each server and assigned to the Thread Pool. All Batch Process Step objects using the Render activity would be configured to run on this Thread Pool
Thread Pools can also be used to control the concurrency of operations on external systems. For example, assume the 'Default' Thread Pool contains 64 worker threads. If an export operation is being performed using a CMIS platform which only allows 16 concurrent connections, then a majority of the 64 worker threads will error out due to a connection failure. In this case, a thread pool containing 16 worker threads could be created and assigned to the export step. The concurrency of import and export operations on mail servers, SFTP servers, databases, and etc. can be controlled using this mechanism.
Inherits from: Grooper Node
The following 3 properties are defined.
Property Name | Description |
---|---|
General | |
Concurrency Mode | Type: ConcurrencyMode, Default: Multiple
Specifies the parallel processing mode for this Thread Pool. Can be one of the following values:
|
Maximum Rate | Type: Double, Default: 0
When running with a Concurrency Mode of 'Single', specifies the maximum rate of throughput, in transactions per minute. A value of 0 indicates that no limits should be placed on throughput. |
Description | Type: String
Generic property allowing an administrator to document the purpose of this Grooper Node. |
Command Name | Shortcut Keys | Description | |
---|---|---|---|
Add Multiple Items | Creates multiple items as children of the selected object. | ||
Clear Children | Deletes all children of the selected object(s). | ||
Export to Zip Archive | Exports a set of Grooper nodes to a ZIP archive. | ||
Publish to Grooper Repository | Publishes one or more Nodes to one or more Target Grooper Repositories. | ||
Unpublish | Unpublishes a set of Grooper Nodes to a Target Grooper Repository. |
Tab Name | Description |
---|---|
Thread Pool - General | Displays the properties of a Grooper Node. |
Grooper Node - Scripting | Provides script viewing, compilation, management, and basic editing features. |
Grooper Node - Contents | Provides a user interface for viewing and managing the children of a Grooper Node. |
Grooper Node - Advanced | Displays detailed information about Grooper Node objects, and provides administrative functions for managing them. |