タスク
タスクは、外部サービスとのセッションの確立、データの取得および処理など、API上のすべての非同期ワークロードの実行を担当します。
タスクは通常、セッションリソースの作成の一部として、またはポーリングの実行中に作成されます。
タスクから返されたデータは、関連付けられた結果リソースによって記述されます。
主にシステムおよび組織の管理に関連する一部のタスクは、ユーザー、ソース、またはセッションをターゲットにしていないか、またはポーリングに関連付けられていない可能性があります。この種のタスクの例としては、storageタスクとwebhook configテストタスクがあります。
属性
名 | タイプ | 説明 |
---|---|---|
id | タスクID | リソース識別子 |
resource | 文字列、常にtask | リソースタイプ指定子 |
organisation | 組織ID | リソースが属する組織。 |
key | キーID | このタスクに関連付けられているキー。 |
user | オプション、ユーザーID | このタスクに関連付けられているユーザー。 |
source | オプション、ソースID | このタスクの対象となっているソース。 |
session | オプション、セッションID | このタスクによって使用されたセッション。 |
poll | オプション、投票ID | このタスクが関連付けられている投票。 |
source_type | オプション、文字列 | このタスクがターゲットにしているソースのタイプ。 |
type | ひも | タスクのタスクタイプ。 |
target | ひも | タスクに対する最高レベルの引数。たとえば、 data 型タスクは、それが取得しているデータ型をターゲットとして持っています(すなわちmessages.sms )。 |
state | ひも | pending 、 processing 、 suspended 、 succeeded 、 failed 。 |
results | 結果リソースを含むリストオブジェクト | タスクの実行から公開された結果。 |
error | オプション、文字列 | エラーコードが発生した場合は、それを入力します。 |
date_created | 日付時刻 | リソースが作成されたとき |
date_started | オプション、日時 | タスク処理が開始されたとき |
date_completed | オプション、日時 | タスクの歳差運動が終了したとき。 |
ソースタイプ
タスクがソースに関連付けられている場合、ソースのタイプはsource_type
タスク属性に非正規化されます。これにより、特定の種類のタスクに対するクエリが簡単になります。
タイプ
タスクタイプは、API内で実行されている基になるタスクを識別する短いスラグです。
タスクがリソースに対する活性に関連する場合、そのようなウェブフックの設定をテストするように、それは次のようにフォーマットされるwebhook_config.test
。
タスクが特定のソースをターゲットとする場合、 source_type
属性はソース関連情報を保存しますが、 type
属性はメインアクションのみを保存します。たとえば、セッションを作成すると、タイプicloud.account
ソースに対してsession.init
タスクが作成されます。
目標
これは基になるタスクのターゲットを指定し、常に設定されるわけではありません。たとえば、 webhook_config.test
のターゲットはテストされるwebhook設定のIDになります。 icloud.account
タイプのソースに対するdata
タスクの場合は、 icloud.account
ように取得されるデータタイプになりmessages.whatsapp
。
状態
-
pending
タスクは作成されましたが、現在キューで待機しています。 - タスクの
processing
はAPIワーカーによって実行されています。 -
suspended
たタスクは、ブロックするタスクが完了するのを待ってから続行します。 -
succeeded
エラーなしで完了したタスクを。 -
failed
たタスクでエラーが発生しました。
エラー
処理中にタスクが問題にぶつかった場合、このフィールドは発生したエラーのコードで設定されます。
変更ログ
2020-02-20
- Majorタスクオブジェクトの
results
属性は、単純なリスト属性ではなく、ネストされたリストオブジェクトになりました。
2019-10-16
- タスクオブジェクトの
state
属性の値をsuspended
することができます。これは、APIがタスクを再開して完了するために、ファイルのアップロードやメタデータの更新など、Reincubate Relayアプリケーションによるアクションの完了を待機していることを示しています。
GET /tasks/{task ID}
取得する
cURLを使う
curl https://ricloud-api.reincubate.com/tasks/<task ID> \ -H 'Authorization: Token <your key_token>'
ricloud-pyを使う
import ricloud task = ricloud.Task.retrieve(<task ID>)
サンプル応答
{ "id": "00000001-1234-1234-1234-9876543210", "resource": "task", "organisation": 1, "key": 1, "user": 1, "source": 1, "session": "00000002-1234-1234-1234-9876543210", "poll": "00000003-1234-1234-1234-9876543210", "source_type": "mocks.mock", "type": "info", "target": null, "results": { "data": [], "has_more": false, "total_count": 1, "url": "/tasks/00000001-1234-1234-1234-9876543210/results" }, "state": "processing", "error": null, "date_created": "2020-02-20T11:59:15.110451Z", "date_started": "2020-02-20T11:59:15.207932Z", "date_completed": null }
リストGET /tasks
パラメーター
名 | タイプ | 説明 |
---|---|---|
key | キーID | 関連付けられている組織でフィルタリングします。 |
user | ユーザーID | 関連付けられているユーザーでフィルタします。 |
source | ソースID | 関連付けられているソースでフィルタします。 |
session | セッションID | 関連付けられているセッションでフィルタリングします。 |
poll | 投票ID | 所有世論調査でフィルタリングします。 |
source_type | ひも | ソースタイプでフィルタします。 |
type | ひも | タスクの種類でフィルタします。 |
state | ひも | タスクの状態で絞り込みます。 |
date_created | 日時フィルター | リソース作成日でフィルタします。 |
date_started | 日時フィルター | タスクがいつ処理を開始したかでフィルターします。 |
date_completed | 日時フィルター | タスクが処理を完了したときにフィルターします。 |
cURLを使う
curl https://ricloud-api.reincubate.com/tasks \ -H 'Authorization: Token <your key_token>'
ricloud-pyを使う
import ricloud tasks = ricloud.Task.list()