プロトコルを適切に実装していないように思えます。を処理する必要があり、実行する必要がDEADLINE_SOON
ありますTOUCH
。
DEADLINE_SOON とはどういう意味ですか?
DEADLINE_SOON
締め切りが迫っているジョブを予約していることを示す reserve コマンドへの応答です (現在の安全マージンは約 1 秒です)。
保留中のエラーが頻繁に発生する場合はDEADLINE_SOON
、通常、ジョブを時間内に完了していないことを示しているため、ジョブの TTR を増やすことを検討する必要があります。また、完了したタスクを削除できていない可能性もあります。
詳細については、メーリング リストのディスカッションを参照してください。
TTR はどのように機能しますか?
TTR
予約された時点のジョブにのみ適用されます。そのイベントで、タイマー (ジョブ統計では「残り時間」と呼ばれる) がジョブの からカウントダウンを開始しますTTR
。
- タイマーがゼロになると、ジョブは準備完了キューに戻されます。
- タイマーが切れる前にジョブが埋められたり、削除されたり、解放されたりすると、タイマーは存在しなくなります。
- タイマーがゼロになる前にジョブが処理された場合、タイマーは TTR からカウントダウンを開始します。
「タッチ」コマンド
作業者がジョブで作業するためにより多くの時間を要求できるようにします。これは、時間がかかる可能性のあるジョブに役立ちますがTTR
、応答しないワーカーからジョブを引き離す利点も必要です。ワーカーは定期的にサーバーに対して、自分がまだ生きていてジョブを処理していることを伝えることがあります (たとえば、 でこれを行う場合がありますDEADLINE_SOON
)。TTR
このコマンドは、コマンドが発行されてから数秒後に予約ジョブの自動解放を延期します。