D.2. タスク管理

Pulp はほぼすべての呼び出しを非同期で実行でき、一部の呼び出しは常に非同期で実行されます。Pulp は、これらの呼び出しを実行するタスクを検査および管理する REST API を提供します。

D.2.1. タスクレポート

タスク情報オブジェクトは、非同期に実行されたタスクに関する情報を報告するために使用されます。

タスク情報オブジェクト

_href
(文字列) このタスクレポートオブジェクトを取得するための URI パス
state
(文字列) タスクの現在の状態。可能な値には、waitingskipped‘runningsuspendedfinishederrorcanceled が含まれます。
task_id
(文字列) 非同期呼び出しを実行しているタスクの一意の ID
task_type
(文字列) 非同期呼び出しを実行しているタスクの完全修飾 (パッケージ/メソッド) タイプを非推奨にしました。コンシューマーエージェントによって実行されるタスクのフィールドは空です。
progress_report
(オブジェクト) 任意の進捗情報。通常はオブジェクトの形式です。
result
(any) 呼び出しの戻り値 (存在する場合)
exception
(null または文字列) エラー例外値がある場合は非推奨
トレースバック
(null または配列) 例外が発生した場合、結果のトレースバックは非推奨になりました
start_time
(null または文字列) 呼び出しの実行が開始された時刻
finish_time
(null または文字列) 呼び出しの実行が停止した時間
tags
(配列) Call Report の検索に役立つ任意のタグ
spawned_tasks
(配列) このタスクによって生成されたタスクの URI とタスク ID を含むオブジェクトのリスト
worker_name
(文字列) タスクに関連付けられているワーカー。ワーカーがまだ割り当てられていない場合、このフィールドは空です。
queue
(文字列) タスクに関連付けられたキュー。キューがまだ割り当てられていない場合、このフィールドは空です。
error
(null またはオブジェクト) 全体的な呼び出しを失敗させなかったエラーがある場合は表示されます。Error Details を参照してください。
注記

exception フィールドおよび traceback フィールドは、Pulp 2.4 では非推奨になりました。発生したエラーに関する情報は error ブロックに含まれます。詳細は、エラーの詳細 を参照してください。

Task Report の例:

{
 "_href": "/pulp/api/v2/tasks/0fe4fcab-a040-11e1-a71c-00508d977dff/",
 "state": "running",
 "worker_name": "reserved_resource_worker-0@your.domain.com",
 "task_id": "0fe4fcab-a040-11e1-a71c-00508d977dff",
 "task_type": "pulp.server.tasks.repository.sync_with_auto_publish",
 "progress_report": {}, # contents depend on the operation
 "result": null,
 "start_time": "2012-05-17T16:48:00Z",
 "finish_time": null,
 "exception": null,
 "traceback": null,
 "tags": [
   "pulp:repository:f16",
   "pulp:action:sync"
 ],
 "spawned_tasks": [{"href": "/pulp/api/v2/tasks/7744e2df-39b9-46f0-bb10-feffa2f7014b/",
                    "task_id": "7744e2df-39b9-46f0-bb10-feffa2f7014b" }],
 "error": null
}

D.2.2. ポーリングタスクの進行状況

進行中のタスクをポーリングし、実行する非同期呼び出しの情報を生成します。ポーリングが Task Report を返す

方法: GET

Path: /pulp/api/v2/tasks/<task_id>/

パーティション: read

レスポンスコード

200
タスクが見つかった場合
404
タスクが見つからない場合

戻り値: クエリーされたタスクを表す Task Report

D.2.3. タスクをキャンセルする

一部の非同期タスクは、完了する前にキャンセルできます。キャンセルするには、タスクが待機状態または実行状態である必要があります。

注記

キャンセル要求が処理される前にタスクを完了したり、エラーが発生する可能性があります。そのため、この呼び出しにより、タスクの最終状態が canceled になる保証はありません。このような場合、このメソッド呼び出しは応答コード 200 を返します。

方法: DELETE

Path: /pulp/api/v2/tasks/<task_id>/

パーティション: delete

レスポンスコード

200
タスクのキャンセル要求を正常に受け取った場合
404
タスクが見つからない場合

戻り値: null

D.2.4. タスクの一覧表示

現在実行しているタスクと待機中のタスクがすべて表示されます。これは、Task Report インスタンスの配列を返します。配列はタグでフィルター設定できます。

方法: GET

パス: /pulp/api/v2/tasks/

パーティション: read

クエリーパラメーター

tag
(string) (オプション) すべてのタグパラメーターでタグ付けされたタスクのみを返します。

レスポンスコード

200
タスクの配列が含まれます。

戻り値: Task Report の配列

D.2.5. 完了したタスクの削除

状態が終了、エラー、スキップされたすべての完了したタスクを削除できます。この呼び出しは、成功した場合は応答コード 204 を返し、要求が禁止されている場合はコード 403 を返します。

方法: DELETE

パス: /pulp/api/v2/tasks/

パーティション: delete

state
(文字列) (オプション) 現在この状態にあるタスクのみを削除します

以下に例を示します。

/pulp/api/v2/tasks/?state=finished&state=skipped

レスポンスコード

204
タスクが正常に削除された場合
403
禁止された要求がある場合

戻り値: http 応答またはパルプ例外

D.2.6. タスクの検索

API 呼び出し元はタスクを検索することもできます。これは、search criteria document を使用します。

方法: POST

パス: /pulp/api/v2/tasks/search/

パーティション: read

リクエスト本文の内容: キー criteria を含めます。その値は、検索基準 で定義されたマッピング構造です。

レスポンスコード

200
タスクの一覧が含まれます。

戻り値: 戻り値のベースがリストであることを除いて、単一のタスクを取得するのと同じ形式。結果が見つからない場合は、空のリストが返されます。

方法: GET

パス: /pulp/api/v2/tasks/search/

パーティション: read

クエリーパラメーター: クエリーパラメーターは、Search Criteria で定義されている基準オブジェクトの属性と一致する必要があります。例外として、フィールド名は必要な数の field=foo ペアを持つ単数形で指定する必要があります。

以下に例を示します。

/pulp/api/v2/tasks/search/?field=id&field=task_type&limit=20

レスポンスコード

200
タスクの配列が含まれます。