2011-10-05 9 views
1

Twistedで私は常に新しいクエリを実行する永続イベントループです。SQSキューをポーリングし、 queres間で、時間に十分な長さであり、これは新しいクエリが到着したときに私が取得エラーです...ここTwisted adbapiを使用してTwisted、MySQLdbと(2006、 'MySQLサーバーがなくなりました')

MySQLdb _mysql_exceptions.OperationalError: (2006, 'MySQL server has gone away')

私の接続ここで

self.pool = adbapi.ConnectionPool("MySQLdb", self.parms['host'], self.parms['username'], self.parms['password'], self.parms['database']) 

は、私がしようとするために使用するロジックですされており、問題を解く。

try: 
    d = self.pool.runQuery(query,()) 
except: 
    self.pool = adbapi.ConnectionPool("MySQLdb", self.parms['host'], self.parms['username'], self.parms['password'], self.parms['database']) 
    d = self.pool.runQuery(query,()) 
    print 'Reconnecting' 

問題はあまりうまくいかないようです。したがって、206エラーが発生した場合は、再接続を試みて、再度クエリを実行してください。この問題を解決するベストプラクティスは何ですか?

おかげ

答えて

2

は私がadbapi経験がないが、docsで述べたcp_reconnectパラメータは、有望に見えます。

self.pool = adbapi.ConnectionPool("MySQLdb", self.parms['host'], self.parms['username'], self.parms['password'], self.parms['database'], cp_reconnect=True) 
+0

Thanks..Iはそれをチェックアウトします:

このように、あなたのプールの初期化は次のようになります。 –

+0

うん...それは働いた!ありがとう –

関連する問題