Задачи
Задача отвечает за выполнение всех асинхронных рабочих нагрузок 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()