2016-06-02 18 views
0

Ich führe mein Django-Projekt von Gunicorn und Supervisor. aber ich laufe in ein seltsames Problem, supervisorctl stop <myproject> kann nicht aufhören, gunicron. Wenn ich den Prozess ps, fand ich den Prozess immer noch da.Supervisor kann Prozess von Gunicorn nicht stoppen

gunicorn Einstellungen:

$PROJECT_DIR/.env/bin/gunicorn ${DJANGO_WSGI_MODULE} \ 
--env DJANGO_SETTINGS_MODULE=${DJANGO_SETTINGS_MODULE} \ 
--name $NAME \ 
--workers $NUM_WORKERS \ 
--worker-class $WORKER_CLASS \ 
--user=$USER \ 
--group=$GROUP \ 
--log-level=$LOG_LEVEL \ 
--bind=$SERVER_NAME:$PORT 

Supervisor Einstellungen:

[program:myproject] 
user=www 
command=/var/www/apps/myproject/scripts/bin/gunicorn.sh 
stopsignal=KILL 
stopasgroup=true 
directory=/var/www/apps/myproject 
autostart=true 
autorestart=true 
redirect_stderr=true 
stdout_logfile=/var/log/supervisor/gunicorn.log 

jemand für diese eine Idee Hat? Danke im Voraus.

+0

warum tötest du es nicht einfach? – e4c5

+0

Wie lautet die Ausgabe, wenn Sie 'supervisorctl stop myproject' und' supervisorctl status' aufrufen? Ist es möglich, dass ein anderer Gunicorn-Prozess gestartet wurde, ohne einen Supervisor zu haben? –

+0

Wenn das myproject gestoppt wird, ist der Status STOPPED. Ich persönlich finde es in Ordnung. –

Antwort

0

Versuchen Sie eine einfachere Supervisor-Konfiguration, wahrscheinlich geschieht dies aufgrund von Autostart - Nachladen der Supervisor-Einstellungen startet alle aufgelisteten Programme mit Autostart.

0

ich die Art und Weise der Konfiguration wie auf diese Weise:

exec $PROJECT_DIR/.env/bin/gunicorn ${DJANGO_WSGI_MODULE}:application \ 
--env DJANGO_SETTINGS_MODULE=${DJANGO_SETTINGS_MODULE} \ 
--name $NAME \ 
--workers $NUM_WORKERS \ 
--worker-class $WORKER_CLASS \ 
--user=$USER \ 
--group=$GROUP \ 
--log-level=$LOG_LEVEL \ 
--bind=$SERVER_NAME:$PORT 

exec zu nennen gunicorn und ${DJANGO_WSGI_MODULE}:application, dann funktioniert es, um ehrlich zu sein, ich habe keine Ahnung, warum.

Wie auch immer, danke an alle.^_^