Skip to main content

作業キューの一時停止と再開

作業キュー・マネージャで使用するため、%SYSTEM.WorkMgrOpens in a new tab クラスには、作業キュー内の作業を一時停止および再開するためのメソッドが用意されています。

作業を完全に停止する方法の詳細は、"作業キューの停止と作業項目の削除" を参照してください。

作業の一時停止

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

この作業キューに関連付けられたワーカ・ジョブが、この作業キューから追加の項目を受け入れないようにします。Pause() メソッドは、進行中の作業項目も停止します。

timeout 引数は、進行中の作業項目を停止する前に、メソッドが待機する時間 (秒単位) を表します。タイムアウト期間が過ぎると、このメソッドは completed の値を返します。この値は、Pause() メソッドを呼び出したときに進行中であった作業項目が完了したかどうかを示します。したがって、0timeout 値を渡すと、ワーカ・ジョブが作業キュー内のすべての作業項目を完了したかどうかがすぐにわかります。

作業の再開

method Resume() as %Status

この作業キュー内の作業が Pause() メソッドを使用して一時停止されている場合に作業を再開します。具体的には、このメソッドは、作業キュー内に追加の項目がある場合、作業キュー・プロセスがそれらを受け付けて開始できるようにします。

FeedbackOpens in a new tab