Sidekiqキュー管理API
GitLab 12.9 で導入されました。
指定されたメタデータにマッチするジョブをSidekiqキューから削除します。
レスポンスには3つのフィールドがあります:
-
deleted_jobs
- リクエストによって削除されたジョブの数。 -
queue_size
- リクエスト処理後のキューの残りサイズ。 -
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
}