Represents configuration data for asynchronous processing of events. This class allows admininistrative clients to set or access event dispatcher configuration settings. An IAsyncProcessingConfiguration object can be assigned to objects of the server hierarchy (IDomain, ISite, IVirtualServer, and IServerInstance), and is persisted in the GCD.

To create a IAsyncProcessingConfiguration object, call the CreateInstance method on the IAsyncProcessingConfiguration class. To instantiate an IAsyncProcessingConfiguration object, retrieve the SubsystemConfigurations property from an object of the server hierarchy, then iterate the ISubsystemConfigurationList for the IAsyncProcessingConfiguration object.


The following tables list the members exposed by IAsyncProcessingConfiguration.

Public Properties

 NameDescription
Public propertyDispatcherEnabledA boolean value that controls the run enabled status of the dispatcher. When true, the dispatcher runs. When false, the dispatcher does not run.

For the ICFSImportAgentConfiguration interface, when the value of this property is true, the dispatcher runs, but the importer as a whole might still not process import requests when the import agent sub-component has not also been enabled. For more information, see the IsImportAgentEnabled property on the ICFSSiteSettings interface. For a discussion of the importer sub-components, see the ICFSImportAgentConfiguration interface.

Public propertyDispatcherWaitIntervalAttention: Do not change the value of this property without guidance from a support representative. Doing so might adversely affect system performance.

An interval, in seconds, between processing runs for the dispatcher; during this time, the dispatcher remains idle and waits for incoming work. The value specified by this property can represent differing wait intervals depending on the class on which the property occurs, as follows:

  • Except as noted below, represents a minimum wait interval, with a maximum wait interval defined by the LeaseDuration property.
  • For the ICFSImportAgentConfiguration interface, represents a maximum wait interval. (The minimum interval is always 1 second and cannot be changed).
  • For the IAsyncProcessingConfiguration interface, represents a fixed wait interval. (In effect, represents both the minimum and the maximum wait interval).

The interaction between the minimum and maximum intervals occurs in this manner: if in the previous processing run the dispatcher had work to perform, the duration of the subsequent wait interval that the dispatcher actually remains idle is the minimum interval; otherwise, if the dispatcher had no work to perform, the duration is the shorter of these two intervals: (a) Double the previous wait interval or (b) the maximum wait interval. As an example, assuming the minimum interval to be 35 seconds and the maximum as 120, the dispatcher remains idle for 35 seconds, detects no available work, remains idle for 70 seconds (double the previous wait interval), detects no available work, remains idle for 120 seconds (the maximum interval), detects no available work, remains idle for 120 seconds, detects incoming work and processes the work, remains idle for 35 seconds, and so on. Note that, when the minimal interval equals the maximum interval (as is always the case for the IAsyncProcessingConfiguration interface), this example can be simplified. If both the minimum and maximum interval is 35 seconds, the dispatcher remains idle for 35 seconds, detects no available work, remains idle for 35 seconds, detects incoming work and processes the work, remains idle for 35 seconds, and so on.

For the ICFSImportAgentConfiguration interface, this property, despite the name, applies to the importer sub-component known as the import agent and not to the import dispatcher; for information on the importer sub-components, see the ICFSImportAgentConfiguration interface.

Public propertyMaxBatchSizeThe maximum number of objects that can be submitted in a single batch for indexing. Normally, the default value should be used.
Public propertyQueueItemDatabaseTimeoutSpecifies the database transaction timeout in seconds for queue items execution.
Public propertyQueueItemMaxDispatchersSpecifies the maximum number of dispatchers that can run simultaneously.

For the PublishingConfiguration object, this property specifies the maximum number of publish request handler instances.

Public propertyQueueItemRetryCountSpecifies the maximum number of retries that will be attempted to process a queue item.

For the PublishingConfiguration object, the queue item is a publish request.

Top

See Also