Función Pro y Business

Programa cualquier cosa, olvídate de todo

Llamadas HTTP, comandos shell, Docker exec -- todo según un horario cron con historial de salida completo, tiempos de espera, reintentos y alertas. No más fallas silenciosas.

¿Qué puedes programar?

Endpoints HTTP, comandos shell y container exec -- con soporte de zona horaria y alcance por aplicación.

Endpoints HTTP
Llama cualquier URL según un horario -- webhooks, APIs, health checks
Comandos shell
Ejecuta cualquier comando shell dentro del contenedor de tu aplicación
Docker exec
Ejecuta comandos en cualquier contenedor en ejecución en tu servidor
Tareas por aplicación
Adjunta tareas cron a aplicaciones específicas para ejecución con alcance
Tareas independientes
Tareas globales que se ejecutan independientemente de cualquier aplicación
Soporte de zona horaria
Programa en cualquier zona horaria -- UTC, America/New_York, Europe/Paris, etc.

Cómo funciona

01

Define tu tarea

Elige qué ejecutar: una llamada HTTP a cualquier endpoint, un comando shell o un docker exec en un contenedor específico.

02

Configura la expresión cron

Usa sintaxis cron estándar (por ejemplo, */5 * * * * para cada 5 minutos) o elige entre presets como hourly, daily, weekly.

03

Configura tiempo de espera y reintentos

Configura un tiempo máximo de ejecución y cuántas veces sh0 debe reintentar en caso de falla antes de alertarte.

04

sh0 lo ejecuta según el horario

El programador integrado ejecuta tu tarea, captura toda la salida, registra el resultado y te alerta si algo sale mal.

El pipeline de ejecución

Programador cron
Cola de tareas
Ejecutar (HTTP/Shell/Docker)
Capturar salida
Registrar resultado
Alerta en caso de falla

Programador integrado -- sin crontab del sistema, sin dependencias externas

Todo lo que necesitas

Expresiones cron completas

Sintaxis cron estándar de 5 campos con presets para horarios comunes. Cada minuto o una vez al año -- lo que necesites.

Historial de ejecución con stdout/stderr

Cada ejecución se registra con la salida completa, código de salida, duración y marca de tiempo. Depura fallas sin SSH.

Tiempos de espera configurables

Configura un tiempo máximo de ejecución por tarea. Si excede el límite, sh0 termina el proceso y lo marca como tiempo agotado.

Reintento en caso de falla

Configura reintentos automáticos con retraso personalizable entre intentos. Evita que las fallas transitorias se conviertan en incidentes.

Por aplicación o independiente

Adjunta tareas a una aplicación específica (se ejecuta dentro de su contenedor) o crea tareas globales que se ejecutan independientemente en el host.

Alertas de fallas

Recibe notificaciones vía Slack, Discord, Telegram, correo electrónico o webhook cuando una tarea falla. No más fallas cron silenciosas a las 3 AM.

La forma tradicional

  • x Editar crontab vía SSH
  • x Sin logs de ejecución
  • x Fallas silenciosas
  • x Sin manejo de tiempos de espera
  • x Un servidor = un crontab
  • x Revisar logs manualmente

La forma sh0

  • Editor visual de cron en el panel
  • Historial completo de stdout/stderr
  • Alertas instantáneas de fallas
  • Tiempos de espera configurables
  • Tareas por aplicación o globales
  • El panel muestra todas las ejecuciones

Preguntas y respuestas

¿Qué expresiones cron son compatibles? +
Expresiones cron estándar de 5 campos (minuto, hora, día del mes, mes, día de la semana). Puedes usar comodines, rangos, pasos y listas. Los presets comunes como @hourly, @daily y @weekly también son compatibles.
¿Puedo ver la salida de mis tareas cron? +
Sí. Cada ejecución captura stdout y stderr completos. Puedes ver la salida directamente en el panel, filtrar por estado (éxito, fallido, tiempo agotado) y buscar en el historial de ejecuciones.
¿Qué sucede cuando una tarea agota su tiempo? +
sh0 envía un SIGTERM al proceso, espera brevemente, luego envía SIGKILL si es necesario. La ejecución se marca como "tiempo agotado" en el historial. Si los reintentos están configurados, el siguiente intento comienza después del retraso configurado.
¿Puedo ejecutar tareas dentro de contenedores específicos? +
Sí. Las tareas por aplicación se ejecutan dentro del contenedor en ejecución de la aplicación vía docker exec. Esto significa que tu tarea tiene acceso al mismo entorno, dependencias y sistema de archivos que tu aplicación.
¿Hay un mecanismo de reintento? +
Sí. Puedes configurar de 1 a 10 reintentos por tarea con un retraso personalizable entre intentos (por ejemplo, 30 segundos, 5 minutos). Si todos los reintentos fallan, sh0 envía una alerta de falla.
¿Puedo activar una tarea cron manualmente? +
Sí. Cada tarea tiene un botón "Run Now" en el panel. Esto es útil para probar una nueva tarea o volver a ejecutar una ejecución fallida sin esperar al siguiente horario programado.

Nunca pierdas una tarea programada

Tareas cron con historial, tiempos de espera, reintentos y alertas. No más fallas silenciosas.