Ich verwende Puma als Webserver und Sidekiq als meinen Warteschlangenmanager.
Für mehrere Dinge (Datenbankverbindungen, Redis-Verbindungen, andere externe Dienste) verwende ich das ConnectionPool-Juwel, um den sicheren Zugriff auf Verbindungen zu verwalten.
Nun, abhängig davon, ob ich im Kontext von Sidekiq oder von Puma laufe, brauche ich diese Pools in verschiedenen Größen (so groß wie die Anzahl der Sidekiq-Threads bzw. Puma-Threads, und sie sind unterschiedlich)
Was ist der beste Weg, in Ihren Initialisierern zu wissen, wie groß Ihre Verbindungspools basierend auf dem Ausführungskontext sind?
Danke!
Sie verwenden Sidekiq.server?
, das nil
zurückgibt, wenn es nicht ausgeführt wird innerhalb des Sidekiq Prozesses selbst.
Ich weiß nichts über Ihren speziellen Fall ( puma
/ sidekiq
), aber im Allgemeinen finden Sie diese Informationen in der Variable $PROGRAM_NAME
. Ähnlich sind auch
und %code% . __FILE__
Tags und Links ruby ruby-on-rails-4 connection-pooling puma sidekiq