バックエンドをGoogleAppEnginePythonで実行する際に問題が発生します。
私のapp.yamlに、このハンドラーを追加しました:
- url: /backend/.*
script: backend.app
login: admin
そしてbackend.appには、「/」用に定義されたハンドラーがあります。
私のbackends.yamlは次のようになります:
backends:
- name: dbops
options: dynamic
フロントアプリで、バックエンドを呼び出すためのタスクキューを追加しました。
taskqueue.add(url='/backend/', target='dbops')
ログを見ると、404エラーだけが表示され、バックエンドはバックエンドセクションの下に表示されませんが、インスタンスの下を見ると、新しいインスタンスが開始されます。バックエンドのドキュメントはあまり役に立たなかったので、誰もがガイダンスを得ました。
編集
以下のAlexの助けを借りて、バックエンドでコードを実行できるようになりました。バックエンドへのデプロイ手順を見逃しました。
appcfg.py backends ./ update dbops
これで、バックエンドインスタンスが管理インターフェイスで正常に実行されているのがわかりますが、タスクキューは404エラーを返し続けており、愚かな間違ったことをしていると確信しています。
frontend.pyの場合と同じようにbackend.pyのハンドラーを構成しますか?バックエンドインスタンスのfrontend.pyで定義されているハンドラーにはアクセスできますが、backend.pyで定義されているハンドラーにはアクセスできません。
2012年10月17日編集
少し掘り下げた後、apps.yamlでワイルドカードハンドラーがバックエンドハンドラーの前にリストされていることを発見しました。これで、バックエンドハンドラーは一種の機能を果たしています。このプロセスを管理ハンドラーとして定義していますが、それでもタイムアウトになります。
これが機能しない理由は何ですか?常に405エラーを返し、継続的に再試行します。
taskqueue.add(url ='/ backend /'、target ='dbops')