The primary purpose of the Maximum lease interval property is to specify the maximum interval for a worker thread to process a batch. A batch is processed during a dispatcher processing run as part of the process for adding content to a storage area. If a worker thread fails to complete a batch within the allowed time, the dispatcher reassigns the batch to another worker thread. This time limit ensures that any abnormal termination of a worker thread does not prevent a batch from being processed. This property also specifies the maximum time for the dispatcher wait interval: the interval between the end of a dispatcher processing run and the beginning of the next run. The minimum time for the dispatcher wait interval is specified by the Minimum wait interval property.
Previous run activity | Wait interval |
---|---|
Work detected and processed | If the dispatcher performs work in a run, there is no subsequent wait interval. (The dispatcher immediately begins the next run.) |
No available work detected | If the dispatcher performs no work in a run,
initially the duration of the subsequent wait interval is the minimum
interval. Thereafter, if the state of no work continues, the duration
of the subsequent wait interval is the shorter of the following intervals:
|
Dispatcher activity (duration) | Type of activity |
---|---|
Idle (Zero seconds) |
Wait interval |
No available work detected | Processing run |
Idle (35 seconds: Minimum wait interval) |
Wait interval |
No available work detected | Processing run |
Idle (70 seconds: Double the previous wait interval) |
Wait interval |
No available work detected | Processing run |
Idle (120 seconds: Maximum wait interval) |
Wait interval |
No available work detected | Processing run |
Idle (120 seconds: Maximum wait interval) |
Wait interval |
Incoming work detected and processed | Processing run |
Idle (Zero seconds) |
Wait interval |