Journal [lu sur Undeadly] Les montres molles

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
31
12
juin
2023

Afin de mitiger le problème du troupeau tonitruants lors de l’exécution de jobs sur un grand nombre d'appareils (typiquement écrouer les serveurs quand tout le monde fait la même mise à jour au même moment), l'artiste a implémenté une solution carrément plus élégante que ce qu'on peut trouver en cherchant 2 mn dans son cerveau tordu de SysAdmin

Comme par exemple

30 8-21/* * * * sleep ${RANDOM:0:2}m ; /path/to/script.php

ou encore

0 1 * * * * perl -le 'sleep rand 9000' && *command goes here*

Pour ceux qui utilisent l'OS du bien, on pourra désormais écrire des choses comme : exécuter la commande toutes les dix minutes en commençant à une minute aléatoire entre 0 et 9

~/10 * * * * 

C'est trop la classe !

C'est plus précis que l'option jitter (ou Jitter) de FreeBSD qui permet de demander à cron de décaler tous les jobs d'un nombre de seconde aléatoire entre 0 et la valeur de l'option. Du plaisir pour ceux qui aiment donc. Les autres sont déjà servis avec les options RandomizedDelaySec et FixedRandomDelay de systemd.timer

L'annonce : https://undeadly.org/cgi?action=article;sid=20230507122935

Titre de l'image

  • # systemd

    Posté par  (site web personnel) . Évalué à 10.

    Pour ceux qui utilisent un système d'exploitation et un gestionnaire de services maléfiques, ce dernier a une option pour introduire un délai aléatoire au démarrage d'une unité programmée, par exemple :

    [Unit]
    …
    OnCalendar=*-*-* *:*:00/10
    RandomizedDelaySec=60
    
    • [^] # Re: systemd

      Posté par  . Évalué à 3.

      D'un autre côté, quand on commence a avoir besoin de ce genre de fonctionnalités, je me demande si l'utilisation d'outils tels que cfengine, chef, salt… n'est pas plus pertinente que de se baser sur cron ou autre?

  • # Rien à voir

    Posté par  . Évalué à 4.

    Ton journal me fait penser à anacron. Autant cron est installé par défaut sur tous les systèmes, les différents OS l’exploitent souvent d’ailleurs, autant je suis sûr que relativement peu de gens connaissent anacron. C’est pourtant un outil particulièrement utile pour un desktop, typiquement pour les sauvegardes. Parce que cron c’est parfait pour une machine qui est « up » tout le temps, mais une machine qu’on éteint régulièrement, si elle est éteinte à l’heure où la tâche cron doit avoir lieu, lors du prochain démarrage cron ne va pas s’en soucier le moins du monde (et c’est pas un reproche, philosophie Unix toussa…).

    La seule chose que je regrette avec anacron, c’est son manque de granularité. L’unité de temps est le jour. Si on éteint/démarre souvent son desktop dans une même journée, impossible d’avoir une tâche qui doit s’exécuter N fois par jour, c’est dommage. Je suis sûr que ça aurait quelques usages.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.