0

backends.yamlにこのように定義されたテストバックエンドがあります

backends: 
- name: mailer 
  class: B1
  instances: 1 
  start: loaders/mail_backend.py

私のmail_backend.pyスクリプトは次のようになります。

from google.appengine.api import mail
from google.appengine.api import logservice
import logging

logservice.AUTOFLUSH_ENABLED = False
logging.error("Backend started!")
logservice.flush()

mail.send_mail(sender="email@email.com", to="email@email.com", subject="Testing Backend", body="Testing if backend is running")

logging.error("Backend finished running!")
logservice.flush()

これをSDK(Mac OSXのv1.7.1)でローカルに実行すると、(他のすべてのバックエンドと同様に)正常に動作しますが、バックエンドを展開して更新しても何も起こりません。バックエンドは実行中であり、停止ボタンが表示されていることを示していますが、ログには何も表示されません。

ここで何が起こっているのかをデバッグするにはどうすればよいですか?バックエンドが呼び出されているかどうかさえわかりません。キックのためだけに、バックエンドをリクエストハンドラーのように動作するように書き直しました。そのように実行しようとして、実行するように指定したURLにアクセスすると、問題をAppEngineチームに報告するように求めるエラーページが表示されました。発生します。バックエンドはデータストアにデータをロードするために1回だけ実行する必要があるため、リクエストハンドラーとして実行したくないので、まだ実行していません。

助けてくれてありがとう

4

1 に答える 1

0

残念ながら、これは答えとしては理想的ではありませんが、思い切って、新しいApp Engineアプリケーションを作成し、それにコードをプッシュすることにしました。

私はちょうど今それをしました、そして今私のバックエンドはうまく働きます(ところでコード変更はありません)。

残念ながら、その過程でアプリエンジンの名前を失いました。これは一種のドラッグです。アプリケーション名を削除した場合に、同じアカウント内にアプリケーション名を保持する方法があればいいのにと思います。

于 2012-09-13T13:13:17.320 に答える