Recurso Pro & Business

Agende qualquer coisa, esqueça tudo

Chamadas HTTP, comandos shell, Docker exec -- tudo em um agendamento cron com histórico completo de saída, timeouts, retentativas e alertas. Chega de falhas silenciosas.

O que você pode agendar?

Endpoints HTTP, comandos shell e container exec -- com suporte a fuso horário e escopo por app.

Endpoints HTTP
Chame qualquer URL em um agendamento -- webhooks, APIs, health checks
Comandos shell
Execute qualquer comando shell dentro do container do seu app
Docker exec
Execute comandos em qualquer container em execução no seu servidor
Jobs por app
Vincule cron jobs a apps específicos para execução com escopo
Jobs independentes
Jobs globais que rodam independentemente de qualquer app
Suporte a fuso horário
Agende em qualquer fuso horário -- UTC, America/New_York, Europe/Paris, etc.

Como funciona

01

Defina seu job

Escolha o que executar: uma chamada HTTP para qualquer endpoint, um comando shell ou um docker exec em um container específico.

02

Defina a expressão cron

Use a sintaxe cron padrão (ex.: */5 * * * * para cada 5 minutos) ou escolha entre presets como hourly, daily, weekly.

03

Configure timeout e retentativas

Defina um tempo máximo de execução e quantas vezes sh0 deve retentar em caso de falha antes de desistir e alertá-lo.

04

sh0 executa no agendamento

O agendador integrado dispara seu job, captura toda a saída, registra o resultado e alerta você se algo der errado.

O pipeline de execução

Agendador Cron
Fila de Jobs
Executar (HTTP/Shell/Docker)
Capturar Saída
Registrar Resultado
Alertar em Caso de Falha

Agendador integrado -- sem crontab do sistema, sem dependências externas

Tudo o que você precisa

Expressões cron completas

Sintaxe cron padrão de 5 campos com presets para agendamentos comuns. A cada minuto até uma vez por ano -- o que você precisar.

Histórico de execução com stdout/stderr

Cada execução é registrada com saída completa, código de saída, duração e timestamp. Depure falhas sem SSH.

Timeouts configuráveis

Defina um tempo máximo de execução por job. Se exceder o limite, sh0 encerra o processo e marca como timeout.

Retentativa em caso de falha

Configure retentativas automáticas com atraso customizável entre tentativas. Impeça que falhas transitórias se tornem incidentes.

Por app ou independente

Vincule jobs a um app específico (roda dentro do container) ou crie jobs globais que rodam independentemente no host.

Alertas de falha

Receba notificações via Slack, Discord, Telegram, e-mail ou webhook quando um job falhar. Chega de falhas silenciosas de cron às 3h da manhã.

O jeito antigo

  • x Editar crontab via SSH
  • x Sem logs de execução
  • x Falhas silenciosas
  • x Sem controle de timeout
  • x Um servidor = um crontab
  • x Verificar logs manualmente

O jeito sh0

  • Editor visual de cron no painel
  • Histórico completo de stdout/stderr
  • Alertas de falha instantâneos
  • Timeouts configuráveis
  • Jobs por app ou globais
  • Painel mostra todas as execuções

Perguntas e respostas

Quais expressões cron são suportadas? +
Expressões cron padrão de 5 campos (minuto, hora, dia do mês, mês, dia da semana). Você pode usar curingas, intervalos, passos e listas. Presets comuns como @hourly, @daily e @weekly também são suportados.
Posso ver a saída dos meus cron jobs? +
Sim. Cada execução captura stdout e stderr completos. Você pode ver a saída diretamente no painel, filtrar por status (sucesso, falha, timeout) e pesquisar no histórico de execuções.
O que acontece quando um job atinge o timeout? +
sh0 envia um SIGTERM para o processo, aguarda brevemente, depois envia SIGKILL se necessário. A execução é marcada como "timeout" no histórico. Se retentativas estiverem configuradas, a próxima tentativa começa após o atraso configurado.
Posso rodar jobs dentro de containers específicos? +
Sim. Jobs por app executam dentro do container em execução do app via docker exec. Isso significa que seu job tem acesso ao mesmo ambiente, dependências e sistema de arquivos da sua aplicação.
Existe um mecanismo de retentativa? +
Sim. Você pode configurar de 1 a 10 retentativas por job com um atraso customizável entre tentativas (ex.: 30 segundos, 5 minutos). Se todas as retentativas falharem, sh0 envia um alerta de falha.
Posso disparar um cron job manualmente? +
Sim. Cada job tem um botão "Run Now" no painel. Isso é útil para testar um novo job ou re-executar uma execução com falha sem esperar o próximo horário agendado.

Nunca perca uma tarefa agendada

Cron jobs com histórico, timeouts, retentativas e alertas. Chega de falhas silenciosas.