Écrit noir sur blanc, cela paraît évident, et c’est pourtant la raison pour laquelle un nombre surprenant de solutions maison cessent silencieusement de fonctionner.
Ce qui ne marche pas
- Un onglet de navigateur avec un minuteur — fermé, mis en veille, ou bridé par le navigateur après quelques minutes en arrière-plan
- Un script sur le portable — le capot se referme
- Une application sur le téléphone seule — le système endort agressivement le travail en arrière-plan, volontairement
- Un cron sur une machine qui n’est pas toujours allumée — c’est-à-dire la plupart des machines que les gens possèdent
Chacun fonctionne quand vous le testez. C’est le piège : vous testez en regardant. La panne n’arrive que quand personne ne regarde.
Ce que la tâche demande vraiment
- 1Un processus éveillé à chaque minute de la journée
- 2Une trace de ce qui est prévu, qui survit à un redémarrage
- 3Un moyen de repérer un échec et de réessayer avec un intervalle croissant
- 4Un moyen de prévenir un humain une fois qu’on a renoncé
Pourquoi l’hébergement compte plus qu’il n’y paraît
Certaines plateformes limitent les tâches planifiées de leur offre gratuite à une fois par jour. Un planificateur qui se déclenche une fois par jour n’est pas un planificateur, c’est un rappel. À vérifier avant de construire dessus.
Un petit serveur toujours allumé avec un minuteur à la minute coûte quelques euros par mois et supprime toute une classe de problèmes.
