2012-03-08 13 views
0

Google App Engineでdjango nonrelを搭載したDjangoアプリでは、特定のケースが発生した場合にメールを送る予定の次のコードがあります。しかし、このイベントが発生するたびに、私はこのメールを1時間くらいごとに繰り返し受け取ります。誰も私がこれを起こらないようにする方法やこれが起こる原因を知っていますか?タスクキューのタスクでGAJのDjangoアプリからメールを受け取り続ける

if reply_meaning==5: #not clear 
     text_template = get_template('email/clarify.txt') 
     html_template = get_template('email/clarify.html') 
     context = Context({ 
          'message' : reply, 
          'invitation_id' : invitation.id, 
          }) 
     text_message = text_template.render(context)   
     html_message = html_template.render(context)   
     message = mail.EmailMessage(
            sender = to_address, 
            to = "MY_EMAIL_ADDRESS", 
            subject = "not clear", 
            body = text_message, 
            html = html_message, 
            ) 
     message.send() 
+0

このコードはタスクキューにありますか?タスクの処理中にエラーが発生する可能性はありますか? –

+0

私は、明示的にtaskeキューに何も追加していません - とにかくタスクキューに慣れていません。エラーが発生した場合、このメソッドは繰り返し実行されますか? – e7mac

+0

タスクキュータスク内でキャッチされない例外が発生すると、そのタスクはデフォルトで再キューに入れられます。あなたのエラーログはあなたに何かヒントを与えていますか?あるいは、loggingを挿入して、message.send()への呼び出しが複数回起こるかどうかを調べることができますか? –

答えて

2

あなたは(送​​信呼び出している場合)、そしてあなたがそのタスクで例外を取得するには、タスクが再キューイングされ、メールは再び送信されます。 send()が複数回呼び出されているかどうかを調べるには、ログを調べる(またはログを追加する)必要があります。

関連する問題