Skip to main content

Pausing and Resuming a Work Queue

For use with the Work Queue Manager, the %SYSTEM.WorkMgrOpens in a new tab class provides methods you can use to pause and resume work within a work queue.

For information on halting work completely, see Stopping a Work Queue and Removing Work Items.

Pausing Work

method Pause(timeout As %Integer, ByRef completed As %Boolean = 0) as %Status

Prevents the worker jobs associated with this work queue from accepting additional items from this work queue. The Pause() method also stops any work items that are in progress.

The timeout argument represents the amount of time in seconds that the method waits before stopping work items that are in progress. After the timeout period, the method returns the completed value, which indicates whether the work items that were in progress when you called the Pause() method were completed. Consequently, you can pass in a timeout value of 0 to know immediately whether the worker jobs completed all the work items in the work queue.

Resuming Work

method Resume() as %Status

Resumes work in this work queue, if it had previously been paused using the Pause() method. Specifically, this method enables the work queue processes to accept and start any additional items in the work queue.

FeedbackOpens in a new tab