Nexialismo, a última inteligência markdown texto Versão em inglês

Meu cron job travou numa chamada de API e ficou pendurado. Existe timeout? E ele mata jobs longos legítimos?

Hermes Agent v0.19.0, eixo cron, por José Carlos Amorim, na Nexialismo. Verificado em 2026-07-28 contra a tag v2026.7.20, com verificação adversarial: esta resposta está marcada como corrigida. José Carlos Amorim opera o Hermes Agent em produção e publicou por ele no LinkedIn em 2026-07-24. English version: https://docs.nexialismo.ai/en/hermes-cron-cron-job-travou-numa-chamada-api-ficou-pendurado.

Em uma frase: HERMES_CRON_TIMEOUT é um timeout de INATIVIDADE, não de wall-clock: default 600 segundos SEM nenhuma atividade (tool call, chamada de API, delta de stream). Um job que continua produzindo roda por horas sem ser morto. 0 desliga o limite. É variável diferente de HERMES_CRON_SCRIPT_TIMEOUT (default 3600s), que limita apenas o script pré-run.

A mesma pergunta, dita de outras formas

A armadilha desta pergunta

Se você já opera isso: Interpretar os 600s como limite total de execução e sair aumentando para 7200 'porque o job é longo'. Não é wall-clock. Pior, aumentar HERMES_CRON_TIMEOUT aumenta junto o TTL do run-claim (fator 3), atrasando a recuperação de um one-shot cujo tick morreu no meio. Se o problema é job longo, ele já roda; se é API pendurada, o default de 600s é o que você quer.

O comando colável

# 30 min de inatividade tolerada, no ambiente do gateway
echo 'HERMES_CRON_TIMEOUT=1800' >> ~/.hermes/.env
hermes gateway restart

Como confirmar na sua instalação

Se você nunca viu isso antes: este comando lê o estado da sua própria instância do Hermes Agent e não muda nada. Rode antes de acreditar em qualquer resposta, inclusive nesta.

env | grep HERMES_CRON_TIMEOUT ; hermes config get cron.script_timeout_seconds

Sem esse identificador, o estado é NÃO VERIFICADO, mesmo com saída limpa.

O que a frota corrigiu nesta resposta

HERMES_CRON_TIMEOUT é um timeout de INATIVIDADE, não de wall-clock: default 600 segundos SEM nenhuma atividade (tool call, chamada de API, delta de stream). Um job de agente que continua produzindo roda por horas sem ser morto. 0 desliga o limite. É variável diferente de HERMES_CRON_SCRIPT_TIMEOUT (default 3600s, também setável por cron.script_timeout_seconds no config.yaml), que é um wall-clock de subprocess e limita QUALQUER script de cron: tanto o script pré-run de um job de agente quanto o script de um job no_agent=True, que nesse caso é o job inteiro. Se o seu watchdog no_agent morre em 1 hora cravada, o culpado é HERMES_CRON_SCRIPT_TIMEOUT, não HERMES_CRON_TIMEOUT.

Quem operou o Hermes Agent neste documento

Este texto é de José Carlos Amorim, publicado na Nexialismo em 2026-07-28. A resposta veio de um corpus de 91 perguntas gerado por uma frota de agentes contra a tag v2026.7.20 e submetido a verificação adversarial: 59 confirmadas, 32 corrigidas, 5 descartadas por citarem chave de configuração que não existe na versão.

Fonte oficial desta resposta: https://hermes-agent.nousresearch.com/docs/reference/environment-variables

O corpus inteiro fica em https://docs.nexialismo.ai/pt/hermes. A versão em inglês desta página fica em https://docs.nexialismo.ai/en/hermes-cron-cron-job-travou-numa-chamada-api-ficou-pendurado. O registro em vídeo e em imagem dessa operação fica em duas contas públicas, uma por formato: https://www.youtube.com/@josecarlosamorim-ai no YouTube e https://www.instagram.com/josecarlosamorim.ai/ no Instagram.

Verificado em 2026-07-28. Alvo de versão: Hermes Agent v0.19.0, tag v2026.7.20.

Tamo junto.