Como diagnosticar problema de timeout em cronjob Print

  • 0

Como diagnosticar problema de timeout em cronjob — Guia prático para clientes da GeHost

Olá, querido(a) cliente! 👋

Se você já se deparou com um cronjob que parece "travar" ou não executar no tempo esperado — talvez com mensagens como "Timeout", "Processo encerrado", ou simplesmente "nada aconteceu" — não se preocupe. Isso é algo comum, especialmente quando o script roda por muito tempo ou consome muitos recursos.

Como seu Sensei da GeHost, vou te guiar passo a passo, com calma, clareza e um toque de humanidade, para entender o que pode estar acontecendo e como resolver.

🔍 O que é um cronjob?

Um cronjob é uma tarefa automatizada que seu servidor executa em horários definidos — como limpar arquivos antigos, atualizar dados ou enviar e-mails. Ele é como um lembrete inteligente que o servidor não esquece.

Se ele demora demais ou trava, pode gerar um timeout — ou seja, o sistema desiste de esperar e o encerra.

Dica do Sensei: Timeout não é erro do seu código, mas sim uma medida de segurança do servidor para não ficar travado por tarefas muito lentas.

🛠️ Passo a passo: Como diagnosticar timeout em cronjob

  1. Entre no cPanel — seu painel de controle. Use o link que já está cadastrado no seu e-mail ou no portal da GeHost.

    Tela de LOGIN do cPanel (campos Usuário e Senha + botão Log in)
  2. Na tela principal do cPanel, localize o grupo “Cron Jobs”. Ele está na seção “Advanced”, geralmente perto de “Email” ou “Backup”.

    Painel inicial (home) do cPanel com os grupos de ferramentas (E-mail, Arquivos etc.)
  3. Verifique a lista de cronjobs já configurados. Procure o que está com problema — ele pode estar com um comando longo, sem limite de tempo ou com falha de acesso a recursos.

    Observe o comando completo que está sendo executado. Ele pode ser algo como:

    /usr/bin/php /home/usuario/public_html/script.php

    Se o script for muito pesado, ele pode demorar mais do que o permitido.

  4. Verifique o tempo de execução do script — se o comando for um php, python ou bash, ele pode estar rodando por muito tempo.

    Para isso, você pode:

    • Verificar o código do script (ex: script.php) para ver se há loops infinitos, consultas muito lentas ou processos que não têm limite.
    • Adicionar logs no início e fim do script para saber quando ele começa e termina.
  5. Verifique o limite de tempo do servidor — em ambientes compartilhados como o da GeHost, o tempo máximo de execução de um script é limitado (geralmente entre 30 segundos e 2 minutos).

    Se o seu script demora mais que isso, ele será interrompido — e isso gera o timeout.

  6. Teste o script manualmente — acesse o Gerenciador de Arquivos e execute o script diretamente via linha de comando (via SSH, se disponível) ou via navegador (para PHP).

    Veja se ele trava ou demora muito. Isso ajuda a confirmar se o problema está no código ou no cronjob.

    Gerenciador de Arquivos (árvore de pastas public_html etc.)
  7. Divida o trabalho em partes — se o script faz muita coisa, ele pode estar sobrecarregando o servidor.

    Exemplo: em vez de limpar 10.000 arquivos de uma vez, faça em lotes de 100 por vez. Assim, o cronjob não trava e o servidor não esgota recursos.

  8. Verifique os logs de erro — o cronjob pode estar falhando silenciosamente.

    Em alguns casos, você pode redirecionar a saída do cronjob para um arquivo de log, assim:

    * * * * * /usr/bin/php /home/usuario/public_html/script.php > /home/usuario/logs/script.log 2>&1

    Depois, veja o conteúdo do arquivo script.log no Gerenciador de Arquivos para ver o que está acontecendo.

💡 Dicas do Sensei para evitar timeout

  • Use cronjobs com intervalos razoáveis — não execute tarefas pesadas a cada minuto. Prefira a cada hora ou dia.
  • Evite scripts que não têm limite — sempre defina um tempo máximo de execução no código (ex: set_time_limit(60); no PHP).
  • Monitore o uso de recursos — se o script consome muita memória ou CPU, ele pode ser interrompido mesmo antes do timeout.
  • Considere usar serviços externos — para tarefas muito pesadas, o ideal é usar um serviço dedicado (como um servidor dedicado ou um serviço de fila como RabbitMQ ou AWS Lambda).

Leve em conta: O servidor da GeHost é compartilhado com outros clientes. Manter o tempo de execução curto ajuda a manter a estabilidade para todos — e isso é um ato de respeito ao ecossistema.

🤝 Precisa de ajuda?

Se você seguiu todos os passos e ainda não conseguiu resolver, não se preocupe!

Envie um ticket para o nosso suporte com:

  • O comando do cronjob
  • O nome do script
  • Se possível, o trecho do código que está causando o problema
  • Um link para o log (se tiver)

Nós vamos te ajudar com carinho — como um verdadeiro Sensei que cuida do seu projeto com dedicação.

Até a próxima, com energia positiva e código limpo! 💻✨


Was this answer helpful?

« Back