Aller au contenu

Travail planifié

Tout travail ne reste pas actif. Une migration s’exécute une fois et se termine ; une importation s’exécute mensuellement et se termine. Les décrire comme des déploiements de longue durée signifie que la plateforme les redémarre lorsqu’ils réussissent, ce qui est exactement le contraire de ce qu’il faut faire.

Le travail planifié ajoute ses propres questions, et chacune d’entre elles a une réponse incorrecte qui semble raisonnable : que se passe-t-il lorsqu’un déclenchement arrive alors que l’exécution précédente est toujours en cours ; que devient un déclenchement que la plateforme a manqué car elle était hors service ; et dans quel fuseau horaire le calendrier est-il lu lorsque personne ne l’a spécifié.

Le travail qui se termine est une chose différente. Un job s’exécute jusqu’à son terme, réessaie dans la limite que vous définissez, peut être limité par une date limite, et son enregistrement est conservé pendant une période que vous choisissez. Il n’est pas redémarré lorsqu’il réussit. Les champs se trouvent dans la référence de job.

Un calendrier possède un job et le réexécute. Chaque déclenchement est l’exécution suivante du même job nommé, plutôt qu’un nouveau job par déclenchement. Kubernetes fait le contraire, et la différence est délibérée : un nom nouveau par déclenchement donne à chaque exécution le même numéro d’exécution et disperse la limite de rétention sur un nombre illimité de noms.

Chaque ambiguïté est résolue dans la description, non héritée. Le fuseau horaire est indiqué plutôt que pris de celui dans lequel le processus était en cours d’exécution. Ce qui arrive à un déclenchement chevauchant est une politique que vous choisissez. Le retard avec lequel un déclenchement manqué peut encore démarrer est une fenêtre que vous définissez, avec une manière explicite de dire « ne jamais rattraper ».

La suspension est un outil de premier plan, pas une commodité. Un calendrier suspendu n’évalue rien du tout, ce qui le rend sûr à appliquer à tout moment — y compris pendant qu’une exécution est en cours — et réversible sans toucher au calendrier, à la tâche ni à son historique.

Not this

Cette page ne couvre pas la grammaire cron, les noms de politique de concurrence, les limites de rétention ou les rejets délibérés. Ils sont générés dans la référence cronjob.

Elle ne couvre pas non plus les travaux de longue durée, qui sont les déploiements et conteneurs.

L'écran des tâches planifiées dans le tableau de bord Odysseus, listant chaque tâche récurrente avec son calendrier et sa dernière exécution — un travail que la plateforme démarre sur une horloge plutôt que sur demande.