DocumentaçãoWeb UnlockerPolítica de tempo limite

Política de Timeout

A Web Unlocker API emprega uma política de timeout de duas camadas para timeouts, projetada para garantir a execução controlável de requisições, a estabilidade do sistema e o gerenciamento eficiente de recursos. Ao projetar duas estratégias de timeout independentes, a API pode oferecer desempenho robusto em ambientes de rede complexos e em cenários de análise dinâmica de páginas, ao mesmo tempo em que evita de forma eficaz falhas do sistema causadas por esgotamento de recursos ou longas esperas.

1. Timeout de Execução Global

Definição: O timeout de execução global é uma política que limita o tempo cumulativo de execução de todas as instruções em uma requisição da API.

Limite de Timeout: 180 segundos

Escopo:

  • Todas as operações da série waitXxx (como waitForSelector ou waitForEvent) no conjunto de instruções instructions.
  • Esse limite abrange o tempo potencial de espera durante a execução das instruções, garantindo que tarefas de longa duração não ocupem indefinidamente os recursos do sistema.

Comportamento de Timeout:

  • Quando o tempo cumulativo de execução atinge 180 segundos, o sistema encerra forçadamente todo o processo da requisição da API e retorna uma resposta de erro de timeout.
  • Essa política garante um limite de tempo de execução para a API, evitando o abuso de recursos devido a instruções complexas ou configurações incorretas.

2. Timeout de Carregamento da Página

Definição: O timeout de carregamento da página foca no limite de tempo para as fases de inicialização do navegador e de carregamento dos recursos da página.

Limite de Timeout: 30 segundos (valor fixo)

Escopo:

  • O processo de inicialização da instância do navegador (como o Puppeteer ou outros drivers de navegador).
  • O carregamento dos recursos da página, incluindo HTML, CSS, JavaScript e outros recursos de rede.

Comportamento de Timeout:

  • Se o acesso à URL falhar ou o tempo de carregamento dos recursos da página exceder 30 segundos, o sistema retornará imediatamente uma resposta de erro sem esperar pelo timeout global.
  • Essa política visa identificar rapidamente páginas de destino inacessíveis e evitar longas esperas por recursos inválidos.

3. Regras de Prioridade de Timeout

  • O timeout de carregamento da página tem prioridade mais alta e pode interromper a execução da requisição antes do timeout global.
  • Quando ocorre um timeout durante a fase de carregamento da página, o sistema encerra imediatamente o processo da requisição sem entrar na fase subsequente de execução das instruções.