NotificationClassProtocol.WorkItemTimeout Property

Gets or sets the amount of time a distributor thread can take to complete a work item assigned to it before the job is canceled and the work item is returned to the available work item pool.

Namespace: Microsoft.SqlServer.Management.Nmo
Assembly: Microsoft.SqlServer.Smo (in microsoft.sqlserver.smo.dll)

Syntax

'Declaration
Public Property WorkItemTimeout As TimeSpan
public TimeSpan WorkItemTimeout { get; set; }
public:
property TimeSpan WorkItemTimeout {
    TimeSpan get ();
    void set (TimeSpan value);
}
/** @property */
public TimeSpan get_WorkItemTimeout ()

/** @property */
public void set_WorkItemTimeout (TimeSpan value)
public function get WorkItemTimeout () : TimeSpan

public function set WorkItemTimeout (value : TimeSpan)

Property Value

A TimeSpan object that specifies the work item timeout.

Remarks

This property is optional and has a default value of 15 minutes.

A work item consists of notifications within a single batch that are delivered through the same delivery channel. Notification Services divides notification batches into work items to take advantage of batch processing and to deliver notifications by using multiple delivery channels in parallel.

When a distributor thread is free, it picks up an available work item to format and deliver. The WorkItemTimeout value configures a time limit for formatting and delivery of the notifications in that work item. If the distributor exceeds the timeout, it returns the work item to the pool of available work items so it can be processed by another distributor thread, assuming there is a retry schedule.

Example

The following examples show how to define execution settings for a delivery protocol:

smtpProtocol.FailuresBeforeEventLog = 2;
smtpProtocol.FailureEventLogInterval = new TimeSpan(0, 10, 0);
smtpProtocol.FailuresBeforeAbort = 10;
smtpProtocol.MulticastRecipientLimit = 50;
smtpProtocol.WorkItemTimeout = new TimeSpan(0, 20, 0);
smtpProtocol.FailuresBeforeEventLog = 2
smtpProtocol.FailureEventLogInterval = New TimeSpan(0, 10, 0)
smtpProtocol.FailuresBeforeAbort = 10
smtpProtocol.MulticastRecipientLimit = 50
smtpProtocol.WorkItemTimeout = New TimeSpan(0, 20, 0)

Thread Safety

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

Target Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

See Also

Reference

NotificationClassProtocol Class
NotificationClassProtocol Members
Microsoft.SqlServer.Management.Nmo Namespace

Other Resources

Configuring Delivery Protocols
Specifying Delivery Protocol Execution Settings
WorkItemTimeout Element (ADF)