Operações

Uma operação é a sua lógica, chamada por meio do Fóir. Você hospeda um endpoint HTTP e registra sua URL, e o Fóir envia a ele um payload assinado, faz novas tentativas em caso de falha e registra o resultado.

Como ela é disparada

Uma operação é executada a partir de um botão no console, de um campo no editor de registros, de um hook de ciclo de vida, de um agendamento ou de uma chamada à API pública. Cada uma recebe sua própria mutation GraphQL tipada gerada a partir do seu schema de entrada e saída, de modo que uma operação com a chave ai-summarize vira executeAiSummarize. Pré-condições e cotas de uso decidem quem pode executá-la e com que frequência.

Síncrona ou em segundo plano

No modo sync, o chamador espera e o corpo da sua resposta é o resultado. O timeout é de 30 segundos por padrão e pode chegar a cinco minutos. No modo async, o seu endpoint responde 202 e depois informa progresso, conclusão, falha ou cancelamento por meio de um token de callback. Ele tem 24 horas por padrão para chamar de volta antes que a execução seja marcada com timeout.

Novas tentativas e a dead-letter queue

Uma chamada que falha recebe novas tentativas, três por padrão, e um circuit breaker abre após cinco falhas e recusa chamadas por 60 segundos. Uma execução na fila que esgota suas novas tentativas vai para a dead-letter queue, onde você pode inspecioná-la, tentá-la de novo ou descartá-la. Uma chave de idempotência na chamada faz uma nova tentativa adotar a execução da primeira tentativa, então o trabalho não é feito duas vezes.

O registro da execução

Toda execução é registrada com status, duração, resultado ou erro, gatilho, contagem de novas tentativas e progresso.

Chamadas a APIs de terceiros

Uma gravação pass-through não tem um serviço seu por trás. O Fóir chama a API de terceiros diretamente, a partir de um template de requisição, com credenciais tiradas dos segredos. Uma operação resolver expõe uma API de terceiros como uma consulta GraphQL ou como um campo em um modelo, com cache e batching.

Leia os detalhes

O guia de operações cobre o registro de um endpoint, o payload que ele recebe, os dois modos e o histórico de execuções.