Назад | Перейти на главную страницу

Супервайзер не может правильно остановить uwsgi

Супервизор может запустить uwsgi, но после остановки uwsgi, когда я пытаюсь запустить его снова, я получаю эту ошибку:

2014-03-16 08:38:34,249 DEBG 'app' stderr output:                                                                                      
thunder lock: disabled (you can enable it with --thunder-lock)                                                                         

2014-03-16 08:38:34,249 DEBG 'app' stderr output:                                                                                      
probably another instance of uWSGI is running on the same address (127.0.0.1:8001).                                                    

2014-03-16 08:38:34,249 DEBG 'app' stderr output:                                                                                      
bind(): Address already in use [core/socket.c line 759]                                                                                

2014-03-16 08:38:34,250 DEBG fd 11 closed, stopped monitoring <POutputDispatcher at 33121488 for <Subprocess at 32641104 with name app 
in state STARTING> (stdout)>                                                                                                           
2014-03-16 08:38:34,250 DEBG fd 15 closed, stopped monitoring <POutputDispatcher at 33122208 for <Subprocess at 32641104 with name app 
in state STARTING> (stderr)>                                                                                                           
2014-03-16 08:38:34,250 INFO exited: app (exit status 1; not expected)                                                                 
2014-03-16 08:38:34,250 DEBG received SIGCLD indicating a child quit                                                                   
2014-03-16 08:38:35,251 INFO gave up: app entered FATAL state, too many start retries too quickly 

Похоже, uwsgi не остановился правильно, так как при попытке его перезапуска возникает проблема. Моя конфигурация для uwsgi для супервизора выглядит следующим образом:

[program:uwsgi]
command=/usr/local/bin/uwsgi --ini /etc/conf/uwsgi_$APP.ini
user=uwsgi
autostart=true
autorestart=true
stderr_logfile=uwsgi_err.log
stdout_logfile=uwsgi_out.log
stopsignal=INT

Я также пробовал это с помощью stopignal = quit. Где я ошибся?

Вам нужно дать uwsgi pid-файл процесса, который вы пытаетесь остановить: http://uwsgi-docs.readthedocs.org/en/latest/Options.html#stop