D.2. タスク管理
Pulp はほぼすべての呼び出しを非同期で実行でき、一部の呼び出しは常に非同期で実行されます。Pulp は、これらの呼び出しを実行するタスクを検査および管理する REST API を提供します。
D.2.1. タスクレポート
タスク情報オブジェクトは、非同期に実行されたタスクに関する情報を報告するために使用されます。
タスク情報オブジェクト
- _href
- (文字列) このタスクレポートオブジェクトを取得するための URI パス
- state
-
(文字列) タスクの現在の状態。可能な値には、
waiting
、skipped
、‘running
、suspended
、finished
、error
、canceled
が含まれます。 - 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
- タスクの配列が含まれます。