2012-05-21 16 views
13

Ich verwende rails 3.0.11, ruby 1.9.3-p0, nginx 1.0.4 und unicorn 3.6.2 für mein Projekt. Und ich habe ein Problem. Ich muss auf meinem Server langfristig arbeiten. Es sind ungefähr 150 Sekunden. Und es ist in diesem Fall in Ordnung.Set Einhorn Timeout

Ich habe meine nginx config in location

proxy_read_timeout 240; 
proxy_send_timeout 240; 

Und oben meine unicorn.rb Datei mit dem Befehl

timeout 240 

Aber ich immer 502 bad gateway Fehler bekommen einrichten. Ich denke, Problem mit Einhorn. Ich bekomme diese Einhorn Protokolle

E, [2012-05-21T11:52:21.052382 #30423] ERROR -- : worker=1 PID:30871 timeout (104.052329915s > 60s), killing 
E, [2012-05-21T11:52:21.080378 #30423] ERROR -- : reaped #<Process::Status: pid 30871 SIGKILL (signal 9)> worker=1 
I, [2012-05-21T11:52:21.105045 #30423] INFO -- : worker=1 spawning... 
I, [2012-05-21T11:52:21.111148 #894] INFO -- : worker=1 spawned pid=894 
I, [2012-05-21T11:52:21.111659 #894] INFO -- : Refreshing Gem list 

Können Sie mir helfen? Jede Hilfe wird geschätzt. Vielen Dank.

+0

Sind Sie sicher, dass diese Einhorn-Datei geladen wird? Wie laden Sie es? –

+0

Ich benutze [capistrano-deploy] (https://github.com/lest/capistrano-deploy) Edelstein, um ein Einhorn nachzuladen. Es ist interessant, dass "unicorn.rb" im Unix-Home-Ordner ist, aber die App "rails" befindet sich im Ordner "web-app". Ich habe noch nie zuvor ein ähnliches getroffen. – caulfield

+3

Ich habe dieses Juwel noch nie benutzt, aber wenn du das tust ** nach 'deploy: restart', 'einhorn: neuladen' ** musst du Unicorn neu starten und nicht nur neu laden. ** sudo /etc/init.d/unicorn restart ** und die Zeitüberschreitung wird gesetzt. Neu laden und neu starten sind zwei verschiedene Dinge im Einhorn. –

Antwort

9

Kopieren Sie die Antwort aus den Kommentaren, um diese Frage aus den „Unbeantwortet“ Filter zu entfernen:

ich nie dieses Juwel verwendet habe, aber wenn Sie diesen nach ‚tun bereitstellen: Neustart ',' Einhorn: reload ' Sie müssen ein Einhorn neu starten, nicht nur neu laden. sudo /etc/init.d/unicorn Neustart und das Zeitlimit wird eingestellt werden. Neu laden und neu starten sind zwei verschiedene Dinge im Einhorn.

~ Antwort pro Maurício Linhares

1

Nach chaning Timeout in config/unicron/production.rb

Ich hatte

cap deploy 

und dann stoppen & Start unicron Master-Prozess laufen zu holen up neue Konfig mit:

cap unicorn:stop 
cap unicorn:start