Skip to main content
Uma versão mais recente deste produto está disponível.
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Processamento assíncrono usando o objeto de tarefa

Colaboradores

Algumas das chamadas da API Deploy, particularmente aquelas que criam ou modificam um recurso, podem levar mais tempo para serem concluídas do que outras chamadas. O ONTAP Select Deploy processa essas solicitações de longa duração de forma assíncrona.

Solicitações assíncronas descritas usando o objeto Job

Depois de fazer uma chamada de API que é executada de forma assíncrona, o código de resposta HTTP 202 indica que a solicitação foi validada e aceita com sucesso, mas ainda não foi concluída. A solicitação é processada como uma tarefa em segundo plano que continua a ser executada após a resposta HTTP inicial ao cliente. A resposta inclui o objeto Job ancorando a solicitação, incluindo seu identificador exclusivo.

Observação Você deve consultar a página de documentação on-line do ONTAP Select Deploy para determinar quais chamadas de API operam assincronamente.

Consulte o objeto Job associado a uma solicitação de API

O objeto Job retornado na resposta HTTP contém várias propriedades. Você pode consultar a propriedade State para determinar se a solicitação foi concluída com sucesso. Um objeto Job pode estar num dos seguintes estados:

  • Em fila de espera

  • Em execução

  • Sucesso

  • Falha

Há duas técnicas que você pode usar ao fazer polling de um objeto Job para detetar um estado terminal para a tarefa, seja com sucesso ou falha:

  • O estado da tarefa atual da solicitação de polling padrão é retornado imediatamente

  • O estado da tarefa de solicitação de polling longa é retornado somente quando ocorre uma das seguintes situações:

    • O estado mudou mais recentemente do que o valor de data-hora fornecido na solicitação de enquete

    • O valor de tempo limite expirou (1 a 120 segundos)

Polling padrão e polling longo usam a mesma chamada de API para consultar um objeto Job. No entanto, uma solicitação de polling longa inclui dois parâmetros de consulta: poll_timeout E last_modified.

Dica Você deve sempre usar polling longo para reduzir a carga de trabalho na máquina virtual de implantação.

Procedimento geral para emitir uma solicitação assíncrona

Você pode usar o seguinte procedimento de alto nível para concluir uma chamada assíncrona de API:

  1. Emita a chamada assíncrona da API.

  2. Receber uma resposta HTTP 202 indicando aceitação bem-sucedida da solicitação.

  3. Extraia o identificador do objeto Job do corpo de resposta.

  4. Dentro de um loop, execute o seguinte em cada ciclo:

    1. Obtenha o estado atual do trabalho com uma solicitação de poll longa

    2. Se o trabalho estiver em um estado não terminal (em fila de espera, em execução), execute o loop novamente.

  5. Pare quando o trabalho atingir um estado terminal (sucesso, falha).