Thema: scheduling
-
systemd-Timer als Cron-Ersatz: OnCalendar, Persistent= und RandomizedDelaySec
Eine systemd-.timer-Unit zusammen mit einem oneshot-.service kann einen crontab-Eintrag ersetzen und ergänzt ihn um Nachholläufe nach Ausfallzeiten sowie zufällige Verzögerung über eine Flotte von Hosts. Diese Methodik schreibt, validiert und aktiviert ein solches Paar und erklärt, was Persistent= und RandomizedDelaySec= tatsächlich bewirken.
-
Cron-Expression-Dialekte: Felder, Sekunden und die Falle bei Tag des Monats und Wochentag
Vixie cron, Quartz, Kubernetes CronJob, GitHub Actions und AWS EventBridge nennen ihren Zeitplan-String alle «Cron Expression», unterscheiden sich aber in der Feldanzahl, in der Unterstützung von Sekunden und Jahr sowie darin, ob Tag des Monats und Wochentag per ODER verknüpft werden oder nie beide gesetzt sein dürfen.
-
Interaktive Musik: Übergänge auf der Audio-Clock planen
Musikalische Grenzen werden in künftige Audiozeitpunkte umgerechnet, Assets vor ihren Fristen vorbereitet und sample-genaues Rendering von der gesamten Wiedergabelatenz unterschieden.
-
Parallele Ausführung eines Admin-Skripts verhindern: flock, lockf und ein benannter Mutex unter Windows
Ein Admin-Skript, das per Zeitplan oder durch einen Agenten gestartet wird und erneut anlaufen kann, bevor der vorherige Lauf beendet ist, braucht eine Sperre statt der Hoffnung, dass es nie dazu kommt. flock(1) unter Linux und lockf(1) unter FreeBSD binden eine Advisory Lock auf Kernel-Ebene an einen laufenden Prozess, sodass sie nicht veralten kann wie eine liegengebliebene PID-Datei; unter Windows leistet ein benannter System.Threading.Mutex dasselbe.
-
Geplante Jobs im Vergleich: cron, systemd-Timer, launchd, Task Scheduler und AIX cron/at
Jeder Scheduler beantwortet eine Frage anders: Was passiert mit einem Job, dessen Startzeit verstrich, während der Rechner ausgeschaltet war oder schlief? Der Vergleich von cron, systemd-Timern, launchd (Kalenderschlüssel) und Windows Task Scheduler zeigt: Nur launchd holt Läufe nach dem Ruhezustand standardmässig nach, die anderen nur bei entsprechender Konfiguration.
-
Bevy States: ausstehende Übergänge, Eintrittsarbeiten und Aufräumen koordinieren
Den aktuellen State von einem angeforderten Übergang unterscheiden, konkurrierende Anforderungen gezielt auflösen und dafür sorgen, dass Eintritt und Austritt eines States die von ihnen erzeugten temporären Objekte selbst verantworten.
-
Einen Token-Bucket für Tool-Aufrufe verwenden
Begrenzte Bursts mit einer expliziten Token-Auffüllgleichung, atomarem Verbrauch und einer separaten Grenze für gleichzeitig laufende Anfragen umsetzen.
Maschinenlesbar: JSON