Sidekiqキュー管理API

GitLab 12.9 で導入されました

指定されたメタデータにマッチするジョブをSidekiqキューから削除します。

レスポンスには3つのフィールドがあります:

  1. deleted_jobs - リクエストによって削除されたジョブの数。
  2. queue_size - リクエスト処理後のキューの残りサイズ。
  3. completed - リクエストが時間内にキュー全体を処理できたかどうか。そうでない場合、同じパラメータで再試行すると、 (最初のリクエストが発行された後に追加されたものも含めて) それ以降のジョブが削除される可能性があります。

この API エンドポイントは管理者のみが利用できます。

DELETE /admin/sidekiq/queues/:queue_name
属性種類必須説明
queue_name文字列です。yesジョブを削除するキューの名前。
user文字列です。いいえジョブをスケジューリングしたユーザーのユーザー名
project文字列です。いいえジョブがスケジュールされたプロジェクトのフルパス
root_namespace文字列です。いいえプロジェクトのルート名前空間
subscription_plan文字列です。いいえルートネームスペースのサブスクリプションプラン(GitLab.comのみ)
caller_id文字列です。いいえジョブをスケジュールするエンドポイントまたはバックグラウンドジョブ (例:ProjectsController#create,/api/:version/projects/:id,PostReceive)
feature_category文字列です。いいえバックグラウンドジョブの機能カテゴリ (例:team_planning またはcode_review)
worker_class文字列です。いいえバックグラウンドジョブワーカーのクラス (例:PostReceive またはMergeWorker)

queue_name 以外に、少なくとも一つの属性が必要です。

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/admin/sidekiq/queues/authorized_projects?user=root"

応答例

{
  "completed": true,
  "deleted_jobs": 7,
  "queue_size": 14
}