Задачи

обновленный
Cover image for: Задачи

Задача отвечает за выполнение всех асинхронных рабочих нагрузок API, таких как установление сеанса с внешними службами, а также получение и обработка данных.

Задачи чаще всего создаются как часть создания ресурса сеанса или во время выполнения опроса.

Любые данные, возвращаемые из задачи, описываются любыми связанными ресурсами результатов.

Некоторые задачи, в основном связанные с управлением системой и организацией, могут не ориентироваться на пользователя, источник или сеанс или быть связаны с опросом. Примерами задач такого типа являются тестовые задания для хранилища и конфигурации webhook.

Атрибуты

название тип описание
id идентификатор задачи Идентификатор ресурса.
resource строка, всегда task Спецификатор типа ресурса.
organisation идентификатор организации Организация, к которой принадлежит ресурс.
key идентификатор ключа Ключ, связанный с этой задачей.
user необязательно, идентификатор пользователя Пользователь, связанный с этой задачей.
source необязательно, идентификатор источника Источник, на который нацелено это задание.
session необязательно, идентификатор сессии Сессия, используемая этой задачей.
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 задачи source_type . Это помогает упростить запросы для задач определенного типа.

Типы

Тип задачи - это короткий фрагмент, определяющий основную задачу, выполняемую в API.

Если задача связана с работой с ресурсом, такой как тестирование конфигурации webhook, она будет отформатирована как webhook_config.test .

Если задача нацелена на конкретный источник, то атрибут source_type будет хранить информацию, связанную с источником, в то время как атрибут type сохраняет только основное действие. Например, создание сеанса приведет к созданию задачи session.init для источника типа icloud.account .

цель

Это определяет цель основной задачи и не всегда устанавливается. Например, целью webhook_config.test будет идентификатор конфигурации webhook, которая будет протестирована. Для задачи data с icloud.account типа icloud.account это будет тип данных, который нужно получить, например messages.whatsapp .

высказывать

  • pending задача была создана, но в настоящее время ожидает в очереди.
  • processing задачи выполняется работником API.
  • 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 идентификатор ключа Фильтр по связанной организации.
user Идентификатор пользователя Фильтровать по связанному пользователю.
source идентификатор источника Фильтр по связанному источнику.
session идентификатор сессии Фильтровать по связанному сеансу.
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:00 до 17:00 по Гринвичу. Время в настоящее время 7:13 ПП с GMT.

Мы стремимся отвечать на все сообщения в течение одного рабочего дня.

Наша отличная команда поддержки

Можем ли мы улучшить эту статью?

Нам нравится слышать от пользователей: почему бы не написать нам электронное письмо, оставить комментарий или написать в Твиттере @reincubate?

© 2008 - 2024 Reincubate Ltd. Все права защищены. Зарегистрировано в Англии и Уэльсе #5189175, VAT GB151788978. Reincubate® и Camo® являются зарегистрированными товарными знаками. Политика конфиденциальности & условия.