Подтвердить что ты не робот

Установите тайм-аут единорога

Я использую rails 3.0.11, ruby 1.9.3-p0, nginx 1.0.4 и unicorn 3.6.2 для моего проекта. И у меня проблема. Я должен выполнять долгосрочную работу на моем сервере. Это около 150 секунд. И в этом случае все в порядке.

Я установил конфигурацию nginx в location

proxy_read_timeout 240;
proxy_send_timeout 240;

И настройте файл unicorn.rb командой

timeout 240

Но я всегда получаю ошибку 502 bad gateway. Я думаю, проблема с единорогом. Я получаю этот журнал единорога

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

Вы можете мне помочь? Любая помощь приветствуется. Спасибо.

4b9b3361

Ответ 1

Копирование ответа из комментариев, чтобы удалить этот вопрос из фильтра "Без ответа":

Я никогда не использовал этот камень, но если вы делаете это после "deploy: restart", "unicorn: reload" вам нужно перезапустить единорог, а не только перезагрузите его. sudo/etc/init.d/unicorn restart, и таймаут будет быть установленным. Перезагрузка и перезагрузка - это две разные вещи в единороге.

~ ответ на Маурисио Линарес

Ответ 2

После таймаута чередования в config/unicron/production.rb

Мне пришлось запускать

cap deploy

а затем остановите и запустите мастер-процесс unicron, чтобы получить новую конфигурацию с помощью:

cap unicorn:stop
cap unicorn:start