Fonctionnalité Pro et Business

Planifiez tout, oubliez tout

Appels HTTP, commandes shell, Docker exec -- le tout selon un calendrier cron avec historique complet, timeouts, réessais et alertes. Plus d'échecs silencieux.

Que pouvez-vous planifier ?

Endpoints HTTP, commandes shell et container exec -- avec support des fuseaux horaires et portée par application.

Endpoints HTTP
Appelez n'importe quelle URL selon un calendrier -- webhooks, APIs, health checks
Commandes shell
Exécutez n'importe quelle commande shell dans le conteneur de votre application
Docker exec
Exécutez des commandes dans n'importe quel conteneur en cours d'exécution sur votre serveur
Tâches par application
Associez des tâches cron à des applications spécifiques pour une exécution ciblée
Tâches autonomes
Tâches globales qui s'exécutent indépendamment de toute application
Support des fuseaux horaires
Planifiez dans n'importe quel fuseau horaire -- UTC, America/New_York, Europe/Paris, etc.

Comment ça fonctionne

01

Définir votre tâche

Choisissez ce que vous souhaitez exécuter : un appel HTTP vers n'importe quel endpoint, une commande shell ou un docker exec dans un conteneur spécifique.

02

Définir l'expression cron

Utilisez la syntaxe cron standard (par ex., */5 * * * * pour toutes les 5 minutes) ou choisissez parmi les préréglages comme horaire, quotidien, hebdomadaire.

03

Configurer le timeout et les réessais

Définissez un temps d'exécution maximum et le nombre de réessais que sh0 doit effectuer en cas d'échec avant d'abandonner et de vous alerter.

04

sh0 l'exécute selon le calendrier

Le planificateur intégré déclenche votre tâche, capture toute la sortie, enregistre le résultat et vous alerte si quelque chose ne va pas.

Le pipeline d'exécution

Planificateur cron
File d'attente des tâches
Exécuter (HTTP/Shell/Docker)
Capturer la sortie
Enregistrer le résultat
Alerter en cas d'échec

Planificateur intégré -- pas de crontab système, pas de dépendances externes

Tout ce dont vous avez besoin

Expressions cron complètes

Syntaxe cron standard à 5 champs avec préréglages pour les planifications courantes. Toutes les minutes à une fois par an -- selon vos besoins.

Historique d'exécution avec stdout/stderr

Chaque exécution est enregistrée avec la sortie complète, le code de retour, la durée et l'horodatage. Déboguez les échecs sans SSH.

Timeouts configurables

Définissez un temps d'exécution maximum par tâche. Si elle dépasse la limite, sh0 tue le processus et la marque comme timeout.

Réessai en cas d'échec

Configurez des réessais automatiques avec un délai personnalisable entre les tentatives. Empêchez les échecs transitoires de devenir des incidents.

Par application ou autonome

Associez des tâches à une application spécifique (exécution dans son conteneur) ou créez des tâches globales qui s'exécutent de manière indépendante sur l'hôte.

Alertes en cas d'échec

Recevez des notifications via Slack, Discord, Telegram, e-mail ou webhook quand une tâche échoue. Plus d'échecs cron silencieux à 3 h du matin.

L'ancienne méthode

  • x Modifier crontab via SSH
  • x Pas de logs d'exécution
  • x Échecs silencieux
  • x Pas de gestion des timeouts
  • x Un serveur = un crontab
  • x Vérifier les logs manuellement

La méthode sh0

  • Éditeur cron visuel dans le tableau de bord
  • Historique complet stdout/stderr
  • Alertes d'échec instantanées
  • Timeouts configurables
  • Tâches par application ou globales
  • Le tableau de bord affiche toutes les exécutions

Questions et réponses

Quelles expressions cron sont prises en charge ? +
Expressions cron standard à 5 champs (minute, heure, jour du mois, mois, jour de la semaine). Vous pouvez utiliser des jokers, des plages, des pas et des listes. Les préréglages courants comme @hourly, @daily et @weekly sont également pris en charge.
Puis-je voir la sortie de mes tâches cron ? +
Oui. Chaque exécution capture les sorties stdout et stderr complètes. Vous pouvez consulter la sortie directement dans le tableau de bord, filtrer par statut (succès, échec, timeout) et rechercher dans l'historique d'exécution.
Que se passe-t-il quand une tâche dépasse le timeout ? +
sh0 envoie un SIGTERM au processus, attend brièvement, puis envoie un SIGKILL si nécessaire. L'exécution est marquée comme « timeout » dans l'historique. Si des réessais sont configurés, la tentative suivante démarre après le délai configuré.
Puis-je exécuter des tâches dans des conteneurs spécifiques ? +
Oui. Les tâches par application s'exécutent à l'intérieur du conteneur en cours d'exécution de l'application via docker exec. Cela signifie que votre tâche a accès au même environnement, aux mêmes dépendances et au même système de fichiers que votre application.
Y a-t-il un mécanisme de réessai ? +
Oui. Vous pouvez configurer de 1 à 10 réessais par tâche avec un délai personnalisable entre les tentatives (par ex., 30 secondes, 5 minutes). Si tous les réessais échouent, sh0 envoie une alerte d'échec.
Puis-je déclencher une tâche cron manuellement ? +
Oui. Chaque tâche dispose d'un bouton « Exécuter maintenant » dans le tableau de bord. C'est utile pour tester une nouvelle tâche ou relancer une exécution échouée sans attendre la prochaine heure planifiée.

Ne manquez plus jamais une tâche planifiée

Tâches cron avec historique, timeouts, réessais et alertes. Plus d'échecs silencieux.