Tarefas
Uma tarefa é responsável por executar todas as cargas de trabalho assíncronas na API, como estabelecer uma sessão com serviços externos e recuperar e processar dados.
As tarefas são mais comumente criadas como parte da criação de um recurso de sessão ou durante a execução de uma pesquisa.
Todos os dados retornados de uma tarefa são descritos por quaisquer recursos de resultados associados.
Algumas tarefas, principalmente envolvidas com o gerenciamento do sistema e da organização, podem não ter como alvo um usuário, fonte ou sessão ou estar associadas a uma pesquisa. Exemplos desse tipo de tarefa são as tarefas de teste de configuração de armazenamento e webhook.
Atributos
nome | tipo | descrição |
---|---|---|
id | ID da tarefa | Identificador de recursos. |
resource | string, sempre task | Especificador de tipo de recurso. |
organisation | ID da organização | A organização a que o recurso pertence. |
key | ID da chave | A chave associada a essa tarefa. |
user | ID de usuário opcional | O usuário associado a essa tarefa. |
source | ID de origem opcional | A fonte segmentada por esta tarefa. |
session | ID de sessão opcional | A sessão usada por esta tarefa. |
poll | opcional, ID de enquete | A enquete com a qual esta tarefa está associada. |
source_type | opcional, string | O tipo de origem que essa tarefa está segmentando. |
type | corda | O tipo de tarefa da tarefa. |
target | corda | O argumento de nível mais alto para a tarefa. Por exemplo, uma tarefa de tipo de data terá o tipo de dados que está recuperando como o destino (ou seja, messages.sms ). |
state | corda | Um dos seguintes: pending , processing , suspended , succeeded , failed . |
results | objeto de lista que contém recursos de resultado | Quaisquer resultados publicados a partir da execução da tarefa. |
error | opcional, string | Preenchido com o código de erro, se ocorreu um. |
date_created | data hora | Quando o recurso foi criado. |
date_started | opcional, datetime | Quando o processamento de tarefas começou. |
date_completed | opcional, datetime | Quando a precessão da tarefa é concluída. |
Tipos de fonte
Se a tarefa estiver associada a uma fonte, o tipo da fonte será desordenado no atributo de tarefa source_type
. Isso ajuda a simplificar consultas para tarefas de um determinado tipo.
Tipos
O tipo de tarefa é um pequeno slug que identifica a tarefa subjacente que está sendo executada dentro da API.
Se a tarefa estiver relacionada à atividade contra um recurso, como testar uma configuração de webhook, ela será formatada como webhook_config.test
.
Se a tarefa tiver como alvo uma fonte específica, o atributo source_type
armazenará as informações relacionadas à fonte, enquanto o atributo type
armazenará apenas a ação principal. Por exemplo, a criação de uma sessão acionará uma tarefa session.init
a ser criada em uma fonte do tipo icloud.account
.
Alvo
Isso especifica o destino da tarefa subjacente e nem sempre é definido. Por exemplo, o destino de um webhook_config.test
será o ID da configuração do webhook a ser testado. Para uma tarefa de data
relação a uma fonte de tipo icloud.account
, será o tipo de dados a ser recuperado como messages.whatsapp
.
Estado
-
pending
a tarefapending
foi criada, mas está aguardando na fila. -
processing
da tarefa está sendo executado por um trabalhador da API. -
suspended
a tarefa aguarda a conclusão das tarefas de bloqueio antes de continuar. -
succeeded
a tarefa concluída sem erros. -
failed
a tarefa encontrou erros.
Erros
Se a tarefa entrar em problemas durante o processamento, esse campo será definido com o código do erro encontrado.
Changelog
2020-02-20
- Principal O atributo de
results
do objeto de tarefa agora é um objeto de lista aninhada, em vez de um simples atributo de lista.
2019-10-16
- O atributo
state
do objeto de tarefa agora pode ter o valorsuspended
. Isso indica que a API está aguardando a conclusão de ações pelo aplicativo Reincubate Relay, como um upload de arquivo ou atualização de metadados, para retomar e concluir a tarefa.
Recuperar GET /tasks/{task ID}
Usando cURL
curl https://ricloud-api.reincubate.com/tasks/<task ID> \ -H 'Authorization: Token <your key_token>'
Usando ricloud-py
import ricloud task = ricloud.Task.retrieve(<task ID>)
Resposta da amostra
{ "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 }
Lista GET /tasks
Parâmetros
nome | tipo | descrição |
---|---|---|
key | ID da chave | Filtrar pela organização associada. |
user | ID do usuário | Filtrar pelo usuário associado. |
source | ID da fonte | Filtrar pela fonte associada. |
session | identificação de sessão | Filtrar pela sessão associada. |
poll | ID de pesquisa | Filtrar pela pesquisa proprietária. |
source_type | corda | Filtrar pelo tipo de fonte. |
type | corda | Filtrar pelo tipo de tarefa. |
state | corda | Filtrar pelo estado da tarefa. |
date_created | filtro de data e hora | Filtrar por data de criação do recurso. |
date_started | filtro de data e hora | Filtre por quando a tarefa começou a processar. |
date_completed | filtro de data e hora | Filtre por quando a tarefa concluiu o processamento. |
Usando cURL
curl https://ricloud-api.reincubate.com/tasks \ -H 'Authorization: Token <your key_token>'
Usando ricloud-py
import ricloud tasks = ricloud.Task.list()