General work queue configuration

The <work-queue> element in work-queue.xml contains attributes for configuring the general characteristics of a work queue.

Attribute

Description

Required attributes

progressinterval

The progressinterval value is the amount of time, in milliseconds, that PolicyCenter allots for a worker to process the number of batchsize work items. If the time a worker has held a batch of items exceeds the value of progressinterval, then PolicyCenter considers the work items to be orphans. PolicyCenter reassigns orphaned work items to a new worker instance. The progressinterval value must be greater than the time to process the slowest work item, or that work item never completes.

Guidewire recommends that you set the progressinterval value greater than the processing time for an entire batchsize of work items:

  • If a worker takes more time than the time specified by progressinterval to processes its assigned work items, PolicyCenter reverts the remaining work items to available from checkedout.
  • If many worker batches take longer than the time specified by progressinterval, the repeated checking out and reverting to available of work items can have a negative impact on performance.

workQueueClass

(Required) The workQueueClass value must be one of the following:

  • A Guidewire-provided work queue class listed in the base configuration version of work-queue.xml
  • A custom work queue class derived from Gosu class WorkQueueBase

You cannot configure Guidewire-provided batch processes or custom batch processes derived from the Gosu class BatchProcessBase.

Optional attributes

blockWorkersWhenWriterActive

If the work queue workers start execution before the work queue writer completes writing work items to the work queue, it can possibly cause performance issues under certain circumstances.

If set to true, PolicyCenter blocks the work queue workers from acquiring new work items until the writer completes writing work items to the queue. After the writer completes writing any new work items, the workers automatically start acquiring work items again.

The default is false. Only enable this attribute for the work queues for which you require this capability. Guidewire recommends that you consider setting this attribute to true if the work queue writer can run for extensive periods of time due to the work load generated.

logRetryableCDCEsAtDebugLevel

If the value of logRetryableCDCEsAtDebugLevel is set to true for a work queue, PolicyCenter logs any retryable Concurrent Data Change Exception (CDCE) at the DEBUG level. The log message includes a prepended string to indicate that the error is non-fatal.

PolicyCenter logs any CDCE that pushes the retry count over the value of retryLimit, or the value of workItemRetryLimit if retryLimit is not set, at the ERROR level.

retryInterval

How long in milliseconds to wait before retrying a work item that threw an exception. The default value is 0, meaning PolicyCenter retries processing the item immediately.

retryLimit

The number of times PolicyCenter retries a work item that threw an exception or that became an orphan for this work queue.

If you do not specify a retryLimit value for a work queue, PolicyCenter uses the value of the WorkItemRetryLimit configuration parameter in config.xml as the default value.

IMPORTANT: Guidewire generally recommends that you increase, never decrease, the number of retries for a work queue.