前回Nginx+uwsgi+Djangoの環境を構築したけど、修正したソースを反映するのにリロード用のファイルを更新しないと出来ない問題を対策しました。
まぁ普通に公式サイトのドキュメントに対策が書いてました。
公式ドキュメント
方法としてタイマー処理で常にソースの更新時間を確認して必要であればuwsgiプロセスを再起動する力技です。
その為、たまに反映されてない?と思ったら再度ブラウザーをリロードしてみてください。
まずプログラムからuwsgiを操作する為のライブラリーをコピーします。
ダウンロードしたライブラリをプロジェクトのトップにコピーしておきます。
次にソース更新をチェックするブログラムをプロジェクトのトップに作成します。
あとは、ソース更新プログラムを起動時に実行するようにuwsgiの設定ファイルに追記します。
まぁ普通に公式サイトのドキュメントに対策が書いてました。
公式ドキュメント
方法としてタイマー処理で常にソースの更新時間を確認して必要であればuwsgiプロセスを再起動する力技です。
その為、たまに反映されてない?と思ったら再度ブラウザーをリロードしてみてください。
まずプログラムからuwsgiを操作する為のライブラリーをコピーします。
curl -O http://projects.unbit.it/uwsgi/export/ad7c6d18232ed1321497c8892c038628a9110891/uwsgidecorators.py
ダウンロードしたライブラリをプロジェクトのトップにコピーしておきます。
次にソース更新をチェックするブログラムをプロジェクトのトップに作成します。
import uwsgi
from uwsgidecorators import timer
from django.utils import autoreload
@timer(3)
def change_code_gracefull_reload(sig):
if autoreload.code_changed():
uwsgi.reload()
あとは、ソース更新プログラムを起動時に実行するようにuwsgiの設定ファイルに追記します。
uwsgi:
import: autoreload
以下省略・・・
トラックバック
トラックバックURL: