Ich habe einen UpStart-Service-Job, der viele (~ 100) Instanzen hat, die gestartet werden müssen. Jeder von ihnen ist ein ressourcenintensiver Prozess, der während des Starts viele Lese-/Schreibvorgänge ausführt. Wenn alle gleichzeitig starten oder erneut starten, verursachen sie Probleme aufgrund übermäßiger Lese-/Schreibanforderungen.So begrenzen Sie die Anzahl der Instanzen UpStart kann gleichzeitig starten oder respawnen
Ich brauche einen Weg, um die Anzahl der Instanzen zu begrenzen, die UpStart versucht, gleichzeitig zu starten oder Respawn. Gibt es zum Beispiel eine Möglichkeit, UpStart den Start einer weiteren Instanz bis 30 Sekunden nach dem Start oder dem erneuten Starten einer anderen Instanz zu verhindern?
Wenn Ihr Job ein Shell-Skript ist, könnten Sie entweder eine zufällige Pause einfügen, so dass bei 10 gleichzeitig starten sie jeweils eine andere Anzahl von Sekunden Pause - und Sie könnten alle Jobs haben Sperren Sie eine bestimmte Datei beim intensiven Startvorgang. Aber das ist eine Shell-Scripting-Lösung, die nichts mit Upstart zu tun hat. – Paul
können Sie ein Emporkömmling-Skript anzeigen? sind sie ungefähr gleich? – FeedTheWeb
Ich denke, die von @Paul genannte Lock-Methode ist cool. Aber das erfordert Änderungen am App-Code selbst (übrigens ist es kein Shell-Skript. Es ist eine vollständig kompilierte Anwendung). Es ist überraschend, dass UpStart über keine eingebaute Funktionalität verfügt, um Dienstinstanzen (?) Automatisch zu halten und in eine Warteschlange zu stellen. – scai