2010-12-06 14 views
0

データベースに接続しているときに接続エラーでメールを送信しています。問題は、Pythonが頻繁にデータベースに接続しようとしているために、エラーが発生した場合にメール(毎分数百回)にあふれてしまいます。明確にする :データベースに接続する際のメールフラッドの問題

mail_sent = False 
try: 
    #connect to db 
    mail_sent = False 
except [..]: 
    if not mail_sent: 
     #send mail 
     sent_mail = True 

しかし、これは動作しないコードが無限にあるので:

try: 
    #connect to db 
except psycopg2.Error, msg: 
    # write error mail 

今私はPythonが唯一の「エラーセッション」ごとに1通のメールを送信するので、私が試したことを望みますループ(SocketServer)なのでsent_mailはすべてのサイクルでFalseに設定されます。

は誰にこの問題を解決するための方法を考えていますか?

+0

接続プールを使用していますか? – kevpie

+0

はい、pgpoolを使用しています – adnek

答えて

0

file lockを使用して、テストセッションを1回だけ実行し、sleep()を追加して、5分ごとにテストするようにします。

関連する問題