Skip to main content
ONTAP Select
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 Job para ONTAP Select

Algumas chamadas da API de implantação, especialmente 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

Após realizar uma chamada de API 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 em execução após a resposta HTTP inicial ao cliente. A resposta inclui o objeto Job que ancora 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 de forma assíncrona.

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

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

  • Na fila

  • Correndo

  • Sucesso

  • Falha

Há duas técnicas que você pode usar ao pesquisar um objeto Job para detectar um estado terminal para a tarefa, seja sucesso ou falha:

  • Solicitação de pesquisa padrão O estado do trabalho atual é retornado imediatamente

  • Solicitação de pesquisa longa O estado do trabalho é retornado somente quando ocorre uma das seguintes situações:

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

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

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

Dica Você deve sempre usar long polling para reduzir a carga de trabalho na máquina virtual Deploy.

Procedimento geral para emissão de uma solicitação assíncrona

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

  1. Emita a chamada de API assíncrona.

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

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

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

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

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

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