Thread Pool

A Thread Pool is a collection of worker threads which execute Unattended Activities.

Remarks

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

Properties

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:

  • Multiple - Multiple instances can run concurrently.
  • PerMachine - Only a single instance can run per machine.
  • Single - Only a single instance can run per Grooper repository.

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.

Commands

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.

Tabs

Tab Name Description
Thread Pool - GeneralDisplays the properties of a Grooper Node.
Grooper Node - ScriptingProvides script viewing, compilation, management, and basic editing features.
Grooper Node - ContentsProvides a user interface for viewing and managing the children of a Grooper Node.
Grooper Node - AdvancedDisplays detailed information about Grooper Node objects, and provides administrative functions for managing them.

Used By

Activity Processing, Batch Process Step, Embedded Extractor