Ich habe eine Rails-Anwendung, die rufus-scheduler verwendet, um einige ihrer Aufgaben zu planen. Der Scheduler wird in der after_fork eines Unicorn-Skripts initialisiert, das die Rails-Anwendung initiiert (Reference: https://gist.github.com/jkraemer/3851917).So überprüfen Sie, ob rufus-scheduler bereits für meine Rails-Anwendung ausgeführt wird
Kürzlich stieß ich auf ein Szenario, in dem der Einhorn-Scheduler-Thread getötet wurde, während der Unicorn-Prozess, der ihn hostet, noch aktiv war. Dies führte dazu, dass der Scheduler für eine beträchtliche Zeit ohne vorherige Ankündigung stillstand.
Ich möchte ein Alarm- und Überwachungssystem einrichten, um solche Szenarien zu behandeln, die in der Lage sein sollten: 1. Eine Warnung zu werfen, wenn der Scheduler-Thread abgebrochen wird/abgebrochen wird. 2. Starten Sie den Scheduler neu, wenn der Rails-Prozess ausgeführt wird.
Was wäre eine geeignete Möglichkeit, den Laufstatus des Schedulers zu kennen, etwa durch eine Crontask und den automatischen Neustart?
Vielen Dank für die ausführliche Liste der Vorschläge. Probiere sie aus. Ich konnte keine 100% -Cron-Planung verwenden, da ich bestimmte Aufgaben unter der 1-Minuten-Frequenz planen musste. – elixir
Wie kann ich zur Überwachung über God Script von außerhalb der Anwendung auf die Scheduler-Instanz zugreifen? – elixir
Sie müssen diesen Zugriff selbst implementieren. – jmettraux