Ich habe eine seltsame Frage (zumindest für mich!), aber ich bin nicht sicher, wie ich sie überhaupt angehen soll.
Hintergrund
Ich habe einige Batch-Jobs (Python-Skripte, die über Cron aufgerufen werden, oder Python-Skripte, die über Bash-Skripte aufgerufen werden). Beispielsweise 20 ETL-Jobs und 20 Datenverarbeitungsjobs. Diese treten zu unterschiedlichen Zeiten auf.
Aktueller Ansatz
Ich lasse meinen Server eingeschaltet und führe Cron-Jobs aus, um die Skripte zur vorgesehenen Zeit auszuführen (sie werden nicht alle gleichzeitig ausgeführt. Eines kann um 13 Uhr ausgeführt werden, während ein anderes um 17 Uhr ausgeführt wird). Das funktioniert im Moment perfekt
Problem Ich möchte Geld sparen und die Jobs müssen nicht genau zu der von mir festgelegten Zeit starten. Es kann ein paar Minuten oder ein oder zwei Stunden dauern, bis sie starten. Deshalb dachte ich daran, präemptive Instanzen zu verwenden, die den Server nach einem Zeitplan starten.
Ich dachte daran, den Server jede Stunde zu starten und ihn dann alle Jobs verarbeiten zu lassen, die über ihren Zeitplan hinausgehen und noch nicht erledigt wurden.
Ich habe keine Ahnung, wie das geht! Gibt es eine Möglichkeit, das in Ubuntu zu planen? Ich dachte daran, eine externe Datenbank einzurichten und ein Skript zu haben, das diese abfragt, um zu sehen, welche Prozesse gestartet werden müssen, aber ich fand das übertrieben. Ich vermute, dass dies möglicherweise ein häufiges Problem ist, für das es eine einfachere Lösung gibt.
Bitte lassen Sie es mich wissen!