Page List

Search on the blog

2016年7月2日土曜日

WSGI(2)

前回の続き。
uwsgiを起動するときのオプションは、設定ファイルに保存しておくことができる。

kenjih$ cat uwsgi.ini 
[uwsgi]
base = /Users/kenjih/tmp/python/wsgi
app = myflaskapp
module = %(app)
pythonpath = %(base)
callable = app
master = true
processes = 4
threads = 2
socket = 127.0.0.1:3031
daemonize=/var/log/uwsgi/%(app).log
touch-logreopen = %(base)/.logreopen_trigger
touch-reload = %(base)/.reload_trigger
harakiri = 60

例えば上のような設定ファイルを作っておくと、
$ uwsgi --ini uwsgi.ini
のようにuwsgiを起動できる。

daemonizeを指定することで、uwsgiをデーモンとして起動できる。引数には標準出力/標準エラー出力の出力先ファイルを指定できる。

touch-logreopenには、ログファイルのロテートのtriggerとなるファイル名を指定できる。これは試してみたがうまく動かなかった。これはlogrotateなどでロテートしたときに、ファイルがロテートされたのでファイルをreopenしてくれとuWSGI側に合図を送るためのファイル。指定したファイルをtouchすればログがロテートされるというものではないので注意。logrotateでロテートしたい場合は、postrotateスクリプトで指定したファイルをtouchするというような使い方をする。

touch-reloadには、リソースのデプロイを行うためのtriggerファイルを指定できる。指定したファイルをtouchすれば、リソースをホットデプロイしてくれる。

harakiriは指定した秒数以上かかるタスクを強制終了するという設定。

0 件のコメント:

コメントを投稿