Executando verificação de segurança...
6

GATEWAY TIMEOUT: Como resolver o problema de requicoes que duram mais de 15sec?

Olá, recentemente lancei meu mais novo Micro Saas: o Easy AI, e tive um problema em prod na criação de vídeos por IA. Basicamente meu Saas demora no mínimo 50 sec para gerar vídeos e a vercel só trabalha c requisições de ate 10sec, tentei dar um upgrade no plano mas ao invés de 10sec passou para apenas 15sec, estou pesquisando maneiras de corrigir esse erro ou se n achar uma maneira, vou migrar p outra plataforma como AWS ou etc.

Alguém por acaso sabe como resolver esse problema?

Carregando publicação patrocinada...
7

Para resolver esse problema, você pode implementar um sistema de processamento assíncrono, utilizando o código de status HTTP 200 (OK) para indicar que a requisição foi recebida com sucesso e que o processamento começou. Existem duas abordagens principais que você pode usar para obter o resultado:

Polling: Nesta abordagem, o cliente (navegador ou aplicativo que fez a requisição inicial) envia periodicamente novas requisições para o servidor para verificar se o processamento foi concluído. O intervalo entre essas requisições de verificação deve ser razoável para não sobrecarregar o servidor.

Passo 1: O cliente envia uma requisição para gerar o vídeo.
Passo 2: O servidor responde com 200 OK, indicando que a tarefa de geração de vídeo começou, e, no corpo da resposta, fornecer um URL ou localização específica onde o cliente poderá verificar o status ou obter o resultado do vídeo.
Passo 3: O cliente aguarda um intervalo definido e então envia uma nova requisição para verificar o status.
Passo 4: Quando o vídeo estiver pronto, o servidor responde com o resultado.

Server-Side Events (SSE): Esta é uma abordagem mais limpa e moderna, em que o servidor "empurra" o resultado para o cliente assim que estiver pronto. Diferente do polling, não há necessidade de múltiplas requisições do cliente.

Passo 1: O cliente envia uma requisição para gerar o vídeo.
Passo 2: O servidor responde imediamente com o 200 OK, mas mantém a conexão aberta.
Passo 3: O servidor envia o resultado (por exemplo, um link para o vídeo) para o cliente assim que estiver pronto, utilizando a mesma requisição.

1
2
2
0
1
1
1
0