Tarefas

Atualizada
Cover image for: 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 tarefa pending 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 valor suspended . 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()

Como podemos ajudar?

Nossa equipe de suporte está aqui para ajudar!

Nosso horário de atendimento é de segunda a sexta, das 9h às 17h GMT. A hora é atualmente 4:38 AM GMT.

Nosso objetivo é responder a todas as mensagens dentro de um dia útil.

Nossa equipe de suporte incrível

Podemos melhorar este artigo?

Adoramos ouvir os usuários: por que não nos enviar um e-mail, deixar um comentário ou twittar? @reincubate?

© 2008 - 2024 Reincubate Ltd. Todos os direitos reservados. Registrado na Inglaterra e no País de Gales #5189175, VAT GB151788978. Reincubate® e Camo® são marcas registradas. Política de Privacidade & termos.