0

Python GAEアプリを設定して、リクエストハンドラーが例外を発生させたときにメールが届くようにしました。これを行うには、サブクラス化webapp2.RequestHandlerしてオーバーライドhandle_exceptionし、適切な詳細が記載された電子メールを送信します。

タスクキュー内のタスクで例外が発生したときにメールを受け取ることはできますか?

編集:私の元の質問が明確ではなかったので、より多くの詳細を追加します。:)

次のコードを使用して、リクエストハンドラの例外に関するメールを自分に送信します。

class MyRequestHandler(webapp2.RequestHandler):
    def handle_exception(self, exception, debug_mode):
        ...
        mail.send_mail_to_admins(sender="me@example.com", ...)
        ...

このようにして、リクエストハンドラによって発生した例外のメールが届きます。

また、遅延ライブラリを使用してタスクを送信したときに発生した例外の電子メールを受け取りたいです。この場合、カスタムリクエストハンドラーは使用できないと思います。私は:へのすべての呼び出しの周りにラッパー関数を置くことができると思いますdeferred.defer()

def my_deferred(...):
    try:
        deferred.defer(...)
    except Exception, msg:
        mail.send_mail_to_admins(sender="me@example.com", ...)

これを達成するためのより良い方法はありますか?

4

1 に答える 1

2

タスク キュー リクエストは通常​​のリクエストとまったく同じ方法で処理されるため、同じアプローチを使用できるはずです。(もちろん、これはタスク キューがリクエストをハンドラーに送信できない場合には当てはまりません。しかし、それはまれなはずです。そして、あなたの質問から、ログにどのようなエラーが表示されているかわかりません。についてのメールを受け取りたい. より詳細な質問はより良い回答を得る. :-)

于 2012-06-02T17:52:52.260 に答える