2012-03-01 7 views
0

私はthe docsまで読んでしまいました。mod_wsgi(デーモンモード)がソースコードをリロードしていません

私は2つのマルチスレッドmod_wsgiプロセスを持っています。通常、私はwsgiスクリプトに触れるだけで、ソースコードがリロードされます。しかし、定期的に変更は再ロードされず、問題は数時間続くことがあります。私は何が起こって変更が読み込まれなくなったのか理解できず、過去に問題が発生したときに何が再読み込みを開始する原因にもなりません。

私はmod_wsgiプロセスを強制終了しようとしましたが、何の違いもありませんでした。自分でApacheを再起動することはできません。

  1. リロードを強制するために他に何ができますか?
  2. これがどうしても起こらないようにするにはどうすればよいですか?ここで

WSGIの設定です:

WSGIScriptAlias /ms20 /var/www-dev/wsgi-scripts/ms20.wsgi 
    WSGIDaemonProcess ms20 user=glpp group=glab processes=2 display-name=%{GROUP} 
    WSGIProcessGroup ms20 

    <Directory "/var/www-dev/wsgi-scripts"> 
     Order allow,deny 
     Allow from all 
    </Directory> 

答えて

1

あなたは、要求はデーモンプロセスで処理されることを検証するために文書でテストを実行しましたか?

WSGIDaemonProcessのdisplay-nameオプションを使用すると、mod_wsgiデーモンプロセスだけがApacheのすべてのhttpdプロセスではなく、大量のメモリを使用していることを 'ps'で検証できます。 VirtualHostの設定が間違っていて、WSGIアプリケーションが組み込みモードで動作している可能性があります。

http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIDaemonProcess

+0

ええ、私は表示-nameオプションを使用しています、そして、それは要求がここ数ヶ月のためにデーモンモードで処理されることを非常に明確に見えたしました。 (PHPサイトを実行するサーバー上には2つの他の仮想ホストがあるので、Apacheプロセスが使用されています)。これらのエラーは、次のようになります。[Error Mar 01 16:06:12 2012] [エラー] [クライアント###。###。###。#] mod_wsgi(pid = 6649) WSGIスクリプト「/ var/www-dev/wsgi-scripts/ms20.wsgi」の処理中に例外が発生しました.pidは2つのデーモンwsgiプロセスの1つです。私は質問を1秒で設定を追加します。 – jmilloy

+0

スレッドも期待どおりです。私は確信しなければなりませんか、それとも検証するためにほかに何をしますか? – jmilloy

+0

WSGIアプリケーションが1つしかない場合は、特定のサブインタープリタを強制的に使用して、何らかの理由で複数の要求を分割しないようにすることができます。したがって、 'WSGIApplicationGroup%{GLOBAL}'を追加してください。 –

関連する問題