Jobs scheduler ?

Dans le thread sur le backup, le sujet du job scheduler a été évoqué tel que rundeck.

Mon besoin est “simple”, un outil qui garanti qu’une tache (ie. une ligne de commande Linux) est exécutée à une certaine date/heure, que l’outil me renvoie une erreur si ça s’est mal passé par par mail, que c’est HA (redondance des noeuds master et d’exécution), avec une petite IHM pour checker que tout se passe bien et idéalement opensource.

Pour ce qui est de taskrunner ça à l’air sympa, à voir si le coté HA est indispensable pour moi (car semble dispo dans la version entreprise uniquement, les prix n’étant pas indiqué sur le site mon expérience me fait croire que du coup, c’est cher), Google m’indique Apache Airflow.

Connaissez vous ces outils où en avez vous d’autre à conseiller ?

1 J'aime

Il y a longtemps j’ai utilisé: JobScheduler — Wikipédia
C’était plutôt pas mal, mais peut être un peu trop “complexe” pour ce que tu veux faire.

Sinon si c’est juste pour faire des “cron” tu as un plugin jenkins qui permet aussi de lancer des jobs programmés.

2 J'aime

Rundeck là où je travaille, pour gérer un parc de 4000 serveurs pour te donner une idée de volumétrie.

J’ai un peu de mal avec l’UI sur notre version assez ancienne mais l’outil fait le job et je le conseille donc pour un environnement “on-premise”. Il avait été mis en concurrence avec JobScheduler évoqué plus haut et finalement retenu.

Sur un environnement Kubernetes, j’ai aussi eu l’occasion de travailler avec Argo Workflows, que je conseille également et qui gagne en puissance à chaque nouvelle version.

Après comme le dit @Uggla, tu peux aussi envisager de passer par les outils de type CI/CD. Je suis sur GitLab et on peut également programmer des pipelines comme des crons.

2 J'aime

Merci pour vos réponses, de ce que je comprend (encore une fois) le sujet ne va pas être si simple. Il va falloir tester les solutions :slight_smile:

Je pense tester Airflow avec l’option Celery backend RabbitMQ ou peut être même essayer ce petit projet GitHub - shunfei/cronsun: A Distributed, Fault-Tolerant Cron-Style Job System.

1 J'aime

Je n’ai pas entendu parler de HA pour le scheduler d’Airflow, sauf si quelque chose a changé.

J’utilise Airflow en prod pour des ETL. Je trouve que Airflow est assez orienté data pipeline et peut-être moins approprié pour de l’admin sys (notamment les config de scheduling, périodes, etc… je m’emèle souvent les pinceaux avec les start_date, par exemple).

Effectivement, après revérification, il semble que le scheduler d’Airflow ne soit pas scalable.

J’avoue que ce n’est pas un critère ultra indispensable dans mon cas, le plus important est que les workers soient scalable avec un label pour choisir quel worker à le droit d’exécuter une tache ou non.

J’ai tendance à faire beaucoup de choses avec des fonctions AWS Lambda + cloudwatch scheduled events (doc), y compris ce genre d’appels.
Reste à voir si cela est compatible avec ton cas d’utilisation.