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", ...)
これを達成するためのより良い方法はありますか?