2011-01-02 20 views
0

私のappengine pythonのWebサイトに断続的な空白のページがあります。通常、これらは新しいプロセスが開始されたとき、またはキャッシュをフラッシュするときに来ます。 1つの白いページが提供されています。空白のページでもエラーはありません - Python Appengine

それは基本的にここで同じエラーだ:

しかしhttp://groups.google.com/group/google-appengine/browse_thread/thread/c072383dc970e450

、私はダブル、トリプル、私は(以下をコピーして貼り付けている)私のpythonファイルに正しいコードを持っていることを確認しています

012:ここで
def main(): 
    run_wsgi_app(application) 

if __name__ == "__main__": 
    main() 

は空白のページが生成されるログの例応答であり、

Mozilla/5.0(Windows; U; Windows NT 6.0; (gfe)、gzip(gfe)、gzip(gfe) 86.164.42.252 - tjcritchlow [2011年1月2日]:AppleWebKit/534.13(Geckoと同様のKHTML)Chrome/9.0.597.19 Safari/534.13、gzip Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/534.13(KHTML、Geckoのような) クロム/ 9.0.597.19 サファリ/ 534.13、GZIP(GFE)、GZIP(GFE)、GZIP(GFE)」 "www.7bks.com" MS = 188 cpu_ms = 570 api_cpu_ms = 383 cpm_usd = 0.016028 I 01-02 04 :46AM 48.724 保存済み;キー:appstats:008500、部分:82バイト、完全:92081バイト、 オーバーヘッド:0.001 + 0.005;リンク: http://www.7bks.com/stats/details?time=1293972408543

任意の提案は、私はさらにデバッグするか、この問題を解決する可能性がありますどのように歓迎します。

私はいくつかの異なるpythonファイルを持っています。私のapp.yamlのハンドラはここにあります。しかし、私はすべてのコードが一番下にある場合、それらがすべて正しいことを確認するためにすべてをチェックしました。

handlers: 

- url: /admin/.* 
    script: admin.py 
    login: admin 

- url: /googleanalytics/ 
    script: googleanalytics.py 
    login: admin 

- url: /cleanupsessions/ 
    script: cleanupsessions.py 
    login: admin 

- url: /robots.txt 
    static_files: robots.txt 
    upload: robots.txt 

- url: /favicon.ico 
    static_files: images/favicon.ico 
    upload: images/favicon.ico 

- url: /images 
    static_dir: images 

- url: /css 
    static_dir: css 

- url: /jquery 
    static_dir: jquery 

- url: /.* 
    script: 7books.py 

error_handlers: 
    - file: customerror.html 

インポートするライブラリに問題がありますか?すべてを確認して、すべての名前コードを持っていることを確認する必要がありますか?

+0

Appstatsから情報を見ると、実行されていると思われるコードはありますか? –

+0

私はあまりAppstatsに精通していません - 私はそれをどのように見ますか?私が見ることができるのは、URLで実行されているさまざまな種類のリクエストの数です。そのコードをどのコードが実行されているかを確認するためにどのように変換するのですか?ありがとう – tomcritchlow

答えて

1

ブランクページの問題に関しては、問題を特定のコードまたはGAEスタックに絞ることができない限り、少し複雑かもしれないデバッグ。

Appstatsは、各Webリクエスト(WSGIミドルウェア)にフックし、要求からのパフォーマンス、デバッグ、その他の情報を記録し、GAE管理サイトからアクセスできる管理インターフェイスに集約するツールです。これは、エラーのトレースバックを見て、サイトのエラーを監視する良い方法です(appstatsをインストールすると、リクエストリストに黄色い「E」の行項目として表示されます)。

まず、あなたはで指示に従ってAppstatsのを設定する必要があります。

http://code.google.com/appengine/docs/python/tools/appstats.html

...これには、 リクエストに関する有用な情報、特にPythonトレースバック が含まれています。エラーが発生した場所や呼び出しスタックのどこにあるのかなど、コードを使用してローカルでコードのエラーをデバッグするのに慣れています。 Google App Engine LauncherまたはPython CLIまたはiPythonだけでも使用できます。

次に、あなたが空白のページを参照してください次回は、あなたの管理者ページやAppstatsのに にオーバーホップ、ログインし、あなたのコード内で何かが壊れどこに を教えてくれますトレースバックを持っています。

はほとんどの場合、これはあなたのコードのどこかに早まったり 未処理のエッジケースを返すだけのものですが、あなたはあなたの要求 ログやエラーのデバッグを見てAppstatsのを持ってまで、それだけで として簡単に宇宙線である可能性があります。

Appstatsをインストールして問題を再現したら、上記のトレースバックを貼り付けてください(トレースバックにある可能性のあるパスワードなどのユーザー情報は削除してください)。

0

私はちょうど多くの不満の後でこれを解決しました。

私はスクリプトハンドラの名前を 'site.py'に変更し、 'main.py'に名前を変更してすべてを解決しました。

私の最高の推測は、在庫python 'site'モジュールが私のsite.pyのクラスパスで支配的だったことです。誰かがもっと知っているなら、ここにコメントを残してください。

0

あなたのpythonインデントが一貫していることを確認してください。たとえば、タブまたは4つのスペースまたは2つのスペースを使用してください。同じ関数内でそれらを混在させないでください。これは私のためにそれを解決しました!タブと4つのスペースが人間とまったく同じように見えるので迷惑です。

関連する問題