Tâches planifiées : lancez un travail à heure fixe
Une tâche planifiée exécute quelque chose sur votre site à des heures fixes sans que personne n'appuie sur un bouton : un résumé chaque matin, un grand nettoyage chaque dimanche soir. Vous les trouvez dans les Settings du projet, sous Scheduled tasks. Cette page montre comment en créer une, lire ses exécutions et réparer une tâche qui échoue.
Ce que fait une tâche planifiée
Une tâche planifiée est un appel que Briks effectue selon un calendrier. Elle appelle soit une route de votre site (une adresse sous /api/ qui exécute du code au lieu d'afficher une page), soit une autre adresse https publique, par exemple un service que vous utilisez. C'est cette adresse qui fait le travail. Briks effectue l'appel à l'heure prévue et enregistre ce qui revient.
Une tâche a donc besoin de quelque chose à appeler. Si votre site n'a pas encore de route pour ce travail, demandez-en une dans le studio, puis dirigez une tâche vers elle. Tant qu'il n'y a aucune tâche, la page affiche No scheduled tasks et résume les travaux habituels : envoyer un récapitulatif quotidien, nettoyer d'anciens enregistrements ou se synchroniser avec un autre service.
Les tâches s'exécutent que le site soit publié ou non, aux heures que vous définissez, dans le fuseau horaire que vous choisissez. La section propose trois vues : Tasks, Runs et Settings.
Limites de chaque plan
| Plan | Tâches planifiées par projet | Appels par jour et par projet |
|---|---|---|
| Free | 1 | 2,000 |
| Starter | 5 | 5 000 |
| Pro | 10 | 10,000 |
| Studio | 25 | 50,000 |
| Agency | 50 | 100 000 |
La vue Tasks indique où vous en êtes, par exemple 2 sur 5 avec votre offre, et Add task est grisé une fois la limite atteinte. Un lien Get more apparaît alors à côté du compteur et ouvre la fenêtre de mise à niveau, qui indique la plus petite offre ayant de la place pour une tâche de plus. Une exécution qui dépasserait les appels du jour est marquée Skipped. Les offres sont comparées sur Facturation.
Ajouter une tâche planifiée
Appuyez sur Add task
Où : Settings, Scheduled tasks
La boîte de dialogue Add a scheduled task s'ouvre. Les Editors, les Admins et les Owners peuvent ajouter des tâches.
Donnez-lui un nom
Où : Add a scheduled task
Donnez-lui un nom court que vous reconnaîtrez dans la liste des exécutions, par exemple
Daily digest. 60 caractères au maximum.Définir le calendrier
Où : Add a scheduled task
Saisissez un calendrier dans Schedule ou appuyez sur l'un des boutons en dessous. La section suivante explique le format.
Choisissez le fuseau horaire
Où : Add a scheduled task
Le Time zone est d'abord le vôtre. Un encadré en dessous décrit le calendrier en toutes lettres et indique les cinq prochaines exécutions dans ce fuseau, pour que vous puissiez vérifier avant d'enregistrer.
Indiquez ce qu'il appelle
Où : Add a scheduled task
Sous What it calls, choisissez A route on this site et saisissez son chemin (il commence par
/api/), ou Another address et saisissez une adresse https complète. Pour une route, l'indication sous le champ affiche l'adresse complète qui sera appelée.Choisissez POST ou GET
Où : Add a scheduled task
POST envoie un court message avec l'appel, ce qu'attendent la plupart des routes conçues pour une tâche. GET demande seulement l'adresse. Si vous hésitez, laissez POST.
Enregistrer
Où : Add a scheduled task
Appuyez sur Add task. Elle n'est enregistrée que lorsque le planificateur l'a prise en charge : chaque tâche de la liste est donc une tâche qui s'exécute.
Rédiger une planification
Une planification se compose de cinq valeurs séparées par des espaces : minute, heure, jour du mois, mois et jour de la semaine. Un * signifie chaque. Si ce que vous saisissez est illisible, la zone indique ce qui ne va pas, par exemple quelle valeur est hors limites.
| Vous voulez | Type | L'aperçu indique |
|---|---|---|
| Chaque matin à 7 h | 0 7 * * * | Tous les jours à 07:00 |
| En semaine à 18 h 30 | 30 18 * * 1-5 | Chaque jour de semaine à 18:30 |
| Toutes les 15 minutes | */15 * * * * | Toutes les 15 minutes |
| Toutes les deux heures, pile à l'heure | 0 */2 * * * | Toutes les 2 heures, pile à l'heure |
| Les dimanches à 11 h du soir | 0 23 * * 0 | Tous les dimanches à 23:00 |
| Le 1er de chaque mois à 6 heures du matin | 0 6 1 * * | Le 1er de chaque mois à 06:00 |
Les jours de la semaine vont de 0 (dimanche) à 6 (samedi), et 7 correspond aussi au dimanche. Vous pouvez aussi écrire des noms comme mon ou jan, des listes comme 1,3,5, des plages comme 1-5 et des pas comme */10. Les raccourcis fonctionnent également : @hourly, @daily, @weekly, @monthly et @yearly.
Les boutons sous le champ le remplissent pour vous : Every 5 minutes, Every hour, Every day at 09:00, Mondays at 09:00 et First of the month.
Ce que chaque appel contient
Une tâche attend une réponse pendant 30 secondes au maximum. Chaque appel porte un user-agent valant Briks-Cron/1.0 et un en-tête x-briks-cron contenant l'identifiant de la tâche, pour que la route sache d'où vient l'appel. Un appel POST envoie aussi un court message JSON (le JSON est un format de texte simple que les programmes savent lire) qui nomme la tâche :
{"cron":{"id":"…","name":"Daily digest"},"trigger":"schedule","scheduledFor":"2026-10-09T06:00:00.000Z"}
trigger vaut manual quand quelqu'un a appuyé sur Run now, et scheduledFor vaut alors null.
Briks n'appellera pas une adresse située sur un réseau privé, une adresse écrite en chiffres, ni l'une de ses propres adresses, et ne suit pas les redirections : indiquez donc l'adresse finale. Les appels vers une route de votre site passent par son adresse briks.live, et si vous changez cette adresse, ils la suivent.
Les exécutions et le sens de chaque statut
Runs liste toutes les exécutions des trente derniers jours, la plus récente en premier, planifiées ou lancées à la main. Une exécution lancée à la main porte l'étiquette By hand. Avec plusieurs tâches, choisissez-en une dans la case au-dessus de la liste et appuyez sur Show. Cliquez sur une exécution pour voir la méthode et l'adresse appelées, l'éventuelle erreur, et le début de la réponse de l'adresse.
| Statut | Ce qui s'est passé |
|---|---|
| Succeeded | L'adresse a répondu avec un statut 2xx, le code du web pour dire que tout s'est bien passé. |
| Failed | Tout le reste : un autre statut (404 signifie introuvable, 500 signifie que le code derrière a échoué), aucune réponse en 30 secondes, une redirection, ou une adresse inaccessible. |
| Skipped | Les appels du jour pour le projet ont été épuisés. L'exécution indique : Today's calls for this project are used up. Les exécutions reprennent après minuit (UTC). |
La vue Tasks montre la même chose d'un coup d'œil : Next et l'heure de la prochaine exécution, Last avec le dernier statut, ou Not run yet.
Quand une exécution échoue
Une exécution échouée est enregistrée, mais pas répétée. La suivante arrive à son heure habituelle. Les exécutions manquées pendant que rien ne pouvait les lancer ne sont pas rattrapées non plus : la tâche s'exécute une fois, puis continue normalement.
Une fois la cause corrigée, ouvrez les trois points de la tâche et choisissez Run now. Le résultat s'affiche aussitôt, par exemple : Daily digest ran: l'adresse a répondu 200 en 312 ms. Vous pouvez lancer une tâche à la main jusqu'à 20 fois par heure, et chaque exécution compte dans les appels du jour.
| Ce que dit l'exécution | Que faire |
|---|---|
| a répondu 404 | Il n'existe aucune route à cet emplacement. Vérifiez l'orthographe, et que la version contenant la route a bien été publiée. |
| a répondu à 500 | La route elle-même a échoué. Ouvrez Logs, choisissez Requests et recherchez le chemin pour lire l'erreur. |
| Aucune réponse dans les 30 secondes. | La tâche est trop longue d'un seul coup. Demandez dans le studio la route pour en faire moins par appel, et lancez-la plus souvent. |
| Les redirections ne sont pas suivies : utilisez l'adresse finale. | Ouvrez l'adresse dans un navigateur, copiez l'adresse à laquelle elle aboutit, et changez la tâche pour qu'elle utilise celle-ci. |
| Cette adresse pointe vers un réseau privé et ne peut pas être appelée. | Utilisez une adresse publique. Briks n'appelle jamais les réseaux privés. |
Suspendre, modifier ou supprimer
L'interrupteur à côté de chaque tâche la met en pause (une étiquette Paused apparaît) et la relance. Dans ses trois points, Change ouvre le même formulaire, intitulé Change task, et Delete l'arrête et supprime son historique d'exécutions. Tout cela demande des droits de modification.
La vue Settings propose Download JSON, un fichier contenant le nom, le calendrier, le fuseau horaire et la cible de chaque tâche. Sa zone de danger contient Clear history (les tâches continuent de s'exécuter) et Delete all (vous saisissez le nom du projet pour confirmer). Les deux sont réservés aux Owners et aux Admins.
Exemples concrets
Ajoutez une route à /api/daily-summary qui m'envoie par e-mail, en un seul message, les demandes de rendez-vous d'hier.
Une fois la modification publiée, la clinique ajoute une tâche planifiée nommée Daily summary avec le calendrier 0 7 * * *, le fuseau horaire Europe/London, qui appelle POST /api/daily-summary. Chaque matin à sept heures, le résumé arrive.
Le récapitulatif part par l'e-mail du site lui-même, désactivé tant que vous ne l'activez pas. Voir E-mail du site pour savoir comment faire et connaître le quota mensuel.
Ajoutez une route à /api/tidy-enquiries qui supprime les demandes de plus de 90 jours.
Une tâche nommée Tidy enquiries l'exécute avec 0 23 * * 0, chaque dimanche à 23 h 00. Le lundi, Runs affiche Succeeded, et l'ouverture de l'exécution montre ce que la route a répondu.
Avant de lancer un nettoyage de ce type pour la première fois, enregistrez un point de restauration dans les paramètres de l'onglet Database. Si la route supprime plus que prévu, vous pourrez revenir en arrière. Voir Backups.