mongrel_rails - Gibt programmatisch an, auf welchem ​​Port es läuft

9

Auf meinem lokalen Rechner laufe ich Schienen mit Bastard. Ich habe ein paar Sachen, die beim Start laufen, über eine Datei in config / initializers, die puts verwendet, um mir mitzuteilen, welche Datenbank sie benutzt, was zum Senden von E-Mails verwendet wird und ein paar andere Informationen.

>

Wenn ich einen Cluster von Mongrels an den Ports 3000, 3001 und 3002 betreibe, möchte ich nur diesen Bericht für den Mongrel auf Port 3000 erstellen. Also muss ich ihn in einen if -Block einpacken, der welche testet Port, den der momentan laufende Mischling benutzt. Kann mir jemand sagen, wie ich das in meinem Code bekommen kann?

    
Max Williams 13.05.2015, 09:12
quelle

3 Antworten

2

in einem Initialisierer,

%Vor%

kann Ihren Port melden.

    
Alper Karapınar 20.05.2015 15:30
quelle
1

Ok, ich beantworte meine eigene Frage, da ich es gerade erst herausgefunden habe, nachdem ich ein Kopfgeld gesetzt habe!

Ich kann die pid des aktuell laufenden Prozesses mit Process.pid erhalten. Dann kann ich ps afx | grep mongrel machen, was mir ein Ergebnis wie folgt gibt

%Vor%

was ich dann für die pid grep, und lesen Sie die Port-Nummer aus der übereinstimmenden Zeile, und sehen, ob es 3000 ist.

Also, mein Code ist

%Vor%

Übrigens, wenn jemand mir sagen kann, wie man direkt den Port des laufenden Mischlings bekommt, ohne über ps afx und Process.pid zu gehen, gebe ich Ihnen immer noch die Bounty:)

    
Max Williams 20.05.2015 14:48
quelle
1

Funktioniert das in 2.2.2?

%Vor%     
Joseph Freivald 24.05.2015 20:41
quelle