Tareas
Una tarea es responsable de realizar todas las cargas de trabajo asíncronas en la API, como establecer una sesión con servicios externos y recuperar y procesar datos.
Las tareas se crean normalmente como parte de la creación de un recurso de sesión o durante la ejecución de una encuesta.
Cualquier dato devuelto de una tarea es descrito por los recursos de resultados asociados.
Algunas tareas, principalmente relacionadas con la administración del sistema y la organización, pueden no estar dirigidas a un usuario, fuente o sesión, o estar asociadas a una encuesta. Ejemplos de este tipo de tareas son las tareas de prueba de configuración de almacenamiento y webhook.
Atributos
nombre | tipo | descripción |
---|---|---|
id | ID de tarea | Identificador de recursos. |
resource | cadena, siempre task | Especificador de tipo de recurso. |
organisation | ID de organización | La organización a la que pertenece el recurso. |
key | ID de clave | La clave asociada a esta tarea. |
user | opcional, ID de usuario | El usuario asociado a esta tarea. |
source | opcional, ID de fuente | La fuente apuntada por esta tarea. |
session | opcional, ID de sesión | La sesión utilizada por esta tarea. |
poll | opcional, ID de encuesta | El sondeo al que está asociada esta tarea. |
source_type | opcional, cadena | El tipo de fuente a la que se dirige esta tarea. |
type | cuerda | El tipo de tarea de la tarea. |
target | cuerda | El argumento de más alto nivel para la tarea. Por ejemplo, una tarea de tipo de data tendrá el tipo de datos que está recuperando como destino (es decir, messages.sms ). |
state | cuerda | Uno de: pending , processing , suspended , succeeded , failed . |
results | objeto de lista que contiene recursos de resultados | Cualquier resultado publicado de la ejecución de la tarea. |
error | opcional, cadena | Se rellena con el código de error, si se produjo uno. |
date_created | fecha y hora | Cuando el recurso fue creado. |
date_started | opcional, fecha y hora | Cuando comenzó el procesamiento de tareas. |
date_completed | opcional, fecha y hora | Cuando finaliza la tarea finalizada. |
Tipos de fuente
Si la tarea está asociada a una fuente, el tipo de la fuente se desnormalizará en el source_type
tarea source_type
. Esto ayuda a simplificar las consultas para tareas de un determinado tipo.
Tipos
El tipo de tarea es un fragmento corto que identifica la tarea subyacente que se ejecuta dentro de la API.
Si la tarea se relaciona con la actividad contra un recurso, como probar una configuración de webhook, se formateará como webhook_config.test
.
Si la tarea se dirige a una fuente específica, el atributo source_type
almacenará la información relacionada con la fuente, mientras que el atributo type
solo almacena la acción principal. Por ejemplo, crear una sesión activará una tarea session.init
que se creará contra una fuente de tipo icloud.account
.
Objetivo
Esto especifica el destino de la tarea subyacente y no siempre se establece. Por ejemplo, el objetivo de un webhook_config.test
será el ID de la configuración de webhook que se va a probar. Para una tarea de data
contra una fuente de tipo icloud.account
, será el tipo de datos que se recuperará como messages.whatsapp
.
Estado
-
pending
la tarea se ha creado pero actualmente está esperando en la cola. -
processing
la tarea está siendo ejecutado por un trabajador API. -
suspended
la tarea está esperando que se completen las tareas de bloqueo antes de continuar. -
succeeded
la tarea finalizado sin errores. -
failed
la tarea encontró errores.
Los errores
Si la tarea tiene problemas durante el procesamiento, este campo se establecerá con el código del error encontrado.
Registro de cambios
2020-02-20
- Mayor El atributo de
results
del objeto de tarea ahora es un objeto de lista anidada, en lugar de un simple atributo de lista.
2019-10-16
- El atributo de
state
del objeto de tarea ahora puede tener el valorsuspended
. Esto indica que la API está esperando la finalización de las acciones de la aplicación Reincubate Relay, como la carga de un archivo o la actualización de metadatos, para que pueda reanudar y completar la tarea.
Recuperar GET /tasks/{task ID}
Usando cURL
curl https://ricloud-api.reincubate.com/tasks/<task ID> \ -H 'Authorization: Token <your key_token>'
Utilizando ricloud-py
import ricloud task = ricloud.Task.retrieve(<task ID>)
Respuesta de muestra
{ "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 }
Listar GET /tasks
Parámetros
nombre | tipo | descripción |
---|---|---|
key | ID de clave | Filtrar por la organización asociada. |
user | ID de usuario | Filtrar por el usuario asociado. |
source | ID de fuente | Filtrar por la fuente asociada. |
session | ID de sesión | Filtrar por la sesión asociada. |
poll | ID de encuesta | Filtrar por la encuesta propietaria. |
source_type | cuerda | Filtrar por el tipo de fuente. |
type | cuerda | Filtrar por el tipo de tarea. |
state | cuerda | Filtrar por el estado de la tarea. |
date_created | filtro de fecha y hora | Filtrar por fecha de creación del recurso. |
date_started | filtro de fecha y hora | Filtra por cuándo la tarea comenzó a procesarse. |
date_completed | filtro de fecha y hora | Filtra por cuándo la tarea completó el procesamiento. |
Usando cURL
curl https://ricloud-api.reincubate.com/tasks \ -H 'Authorization: Token <your key_token>'
Utilizando ricloud-py
import ricloud tasks = ricloud.Task.list()