uWSGI と nginx を使用して、2 つの並列 Django アプリを実行しています。そのうちの 1 つで、負荷がやや大きいもの (どちらも非常に小さい) は、24 時間ごとに約 1 回、次のメッセージで停止し続けます。
[pid: 16358|app: 0|req: 1000/1000] 127.0.0.1 () {46 vars in 847 bytes} [Thu Mar 24 16:38:31 2011] GET /aktivitet/409/picknick/ => generated 18404 bytes in 117 msecs (HTTP/1.0 200) 3 headers in 156 bytes (1 switches on core 0)
...The work of process 16358 is done. Seeya!
次の構成で Supervisor を使用してプロセスを起動しています。
[program:uttrakad]
command=/home/myuser/webapps/uwsgi_test/bin/uwsgi
-s /home/myuser/webapps/uwsgi_test/app1.sock
-C /home/myuser/webapps/django/app1.wsgi
--processes 1
--harakiri 120
--max-requests 1000
autostart=true
autorestart=true
stdout_logfile=/home/myuser/logs/user/uwsgi_app1.log
redirect_stderr=true
stopsignal=QUIT
.wsgi ファイルは単純です。
import os
import sys
sys.path =['/home/openworks/webapps/django/lib/python2.6/','/home/openworks/webapps/django/','/home/openworks/webapps/django/app1/'] + sys.path
from django.core.handlers.wsgi import WSGIHandler
os.environ['DJANGO_SETTINGS_MODULE'] = 'app1.prod_settings'
application = WSGIHandler()
nginx は 2 つのワーカー プロセス、2048 個の worker_connections でセットアップされ、次のようになります。
location / {
uwsgi_pass unix:///home/openworks/webapps/uwsgi_test/app1.sock;
include uwsgi_params;
}
私が言ったように、まったく同じ方法で構成され、中断することなく実行されているアプリがもう 1 つありますが、トラフィックはほとんどありません。
手がかりはありますか?「...The work of process 16358 is done. Seeya」メッセージが表示されるのはなぜですか?
ありがとう