Work queue parameters

Guidewire provides the following configuration parameters in the config.xml file that relate to the work queue.

For information on editing config.xml and setting configuration parameters, see Working with configuration parameters.

For information on work queues in general, see Administering PolicyCenter processes.

InstrumentedWorkerInfoPurgeDaysOld

Number of business days to retain instrumentation information for a worker instance before PolicyCenter deletes it.

Default: 45

WorkItemCreationBatchSize

The maximum number of work items for a work queue writer to create for each transaction.

Default: 100

WorkItemPriorityMultiplierSecs

Used to calculate the AvailableSince field for new work items. For new work items without a priority, PolicyCenter sets AvailableSince to the current time. Later, PolicyCenter checks out work items from the work queue in ascending order by AvailableSince, so work items without a priority are checked out in the order they were created.

You can assign a priority to new work items by implementing the Work Item Priority plugin (IWorkItemPriorityPlugin). For new work items with a priority, PolicyCenter sets AvailableSince according to the following formula:

workItem.AvailableSince = CurrentTime – (workItem.Priority * WorkItemPriorityMultiplierSecs)

Work items with higher priorities have earlier AvailableSince values than work items with lower priorities. Therefore, work items with higher priorities are checked out before ones with lower priorities because their AvailableSince values are earlier.

Priority influences the calculation of AvailableSince only at the time work items are created. If a worker throws an exception while processing a work item, PolicyCenter reverts the status of the work item from checkedout to available. At the same time, PolicyCenter resets AvailableSince according to the following formula:

workItem.AvailableSince = CurrentTime + RetryInterval

Work items are retried in the order they encounter exceptions, irrespective of priority.

Important: Prioritization affects only work items of type WorkflowWorkItem or its derivatives.

Default: 600

WorkItemRetryLimit

The maximum number of times that PolicyCenter retries an orphaned or failed work item.

Guidewire logs a ConcurrentDataChangeException generated by workers at different levels depending on context. If the ConcurrentDataChangeException occurs on processing the work items, PolicyCenter logs the error only if the number of attempts exceeds the configured value of the WorkItemRetryLimit. Otherwise, PolicyCenter logs the debug message instead.

The value for WorkItemRetryLimit applies to all work queues unless overridden in work-queue.xml by retryLimit for specific work queues. For more information on tuning work queue performance by adjusting the number of retries, see Configuring work queues.

Default: 3

WorkQueueHistoryMaxDownload

The maximum number of ProcessHistory entries to consider when producing the Work Queue History download. The valid range is from 1 to 525600. (The maximum of 525,600 is 60*24*365, which is one writer running every minute for a year.)

Default: 10000

WorkQueueThreadPoolMaxSize

Maximum number of threads in the work queue thread pool. This must be greater than or equal to WorkQueueThreadPoolMinSize. All threads that are not core threads are additional on-demand threads. PolicyCenter terminates any idle on-demand threads after the period of time defined by configuration parameter WorkQueueThreadsKeepAliveTime.

Default: 50

Set for server: Yes

WorkQueueThreadPoolMinSize

Minimum number of core threads in the work queue thread pool.

Default: 0

Set for server: Yes

WorkQueueThreadsKeepAliveTime

Keep alive timeout (in seconds) for additional on-demand threads in the work queue thread pool. An additional on-demand thread is terminated if it is idle for more than the time specified by this parameter.

Default: 60

Set for server: Yes