任务

更新
Cover image for: 任务

任务负责在API上执行所有异步工作负载,例如与外部服务建立会话以及检索和处理数据。

任务通常是作为会话资源创建的一部分或在执行轮询期间创建的。

任务返回的任何数据都由任何关联的结果资源描述。

一些主要涉及系统和组织管理的任务可能不针对用户,源或会话,或者与轮询相关联。此类任务的示例是存储和webhook配置测试任务。

属性

名称类型描述
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 processingpending processingsuspendedsucceededfailed
results 列出包含结果资源的对象执行任务后发布的所有结果。
error 可选,字符串填充错误代码,如果发生错误代码。
date_created 约会时间资源创建时。
date_started 可选,日期时间任务处理开始时。
date_completed 可选,日期时间任务完成时完成。

来源类型

如果任务与源关联,则源的类型将非规范化到source_type任务属性上。这有助于简化对特定类型任务的查询。

种类

任务类型是一个标识在API中执行的基础任务的短标记。

如果任务涉及针对资源的活动,例如测试webhook配置,则其格式将类似于webhook_config.test

如果任务针对特定的源,则source_type属性将存储与源相关的信息,而type属性仅存储主操作。例如,创建会话将触发针对icloud.account类型的源创建一个session.init任务。

目标

这指定了基础任务的目标,并不总是设置。例如, webhook_config.test的目标将是要测试的webhook配置的ID。对于针对icloud.account类型源的data任务,它将是要检索的数据类型,如messages.whatsapp

  • pending完成任务已创建,但当前正在队列中等待。
  • API工作者正在执行processing任务。
  • suspended任务正在等待阻止任务完成,然后再继续。
  • succeeded完成任务,没有错误。
  • 任务failed ,遇到错误。

错误

如果任务在处理期间遇到问题,则将使用遇到的错误代码设置此字段。

变更日志

2020-02-20

  • 重大任务对象的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 用户身份由关联用户过滤。
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()

我们能帮你什么吗?

我们的支持团队在这里提供帮助!

我们的办公时间是格林威治标准时间周一至周五上午9点至下午5点。 时间目前是 1:29 PM的 GMT。

我们力争在一个工作日内答复所有垂询。

我们的支持团队非常棒

我们可以改进这篇文章吗?

我们喜欢听取用户的意见:为什么不给我们发电子邮件,发表评论或发推文 @reincubate?

© 2008 - 2024 Reincubate Ltd. 保留所有权利。 在英格兰和威尔士注册 #5189175, VAT GB151788978. Reincubate®和Camo®是注册商标。 隐私政策 & 条款.