Processamento assíncrono usando o objeto de tarefa
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.
| 
 | 
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.
| 
 | 
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:
- 
Emita a chamada assíncrona da API.
 - 
Receber uma resposta HTTP 202 indicando aceitação bem-sucedida da solicitação.
 - 
Extraia o identificador do objeto Job do corpo de resposta.
 - 
Dentro de um loop, execute o seguinte em cada ciclo:
- 
Obtenha o estado atual do trabalho com uma solicitação de poll longa
 - 
Se o trabalho estiver em um estado não terminal (em fila de espera, em execução), execute o loop novamente.
 
 - 
 - 
Pare quando o trabalho atingir um estado terminal (sucesso, falha).