On Fri, Dec 29, 2006 at 09:45:35AM +0200, Dan Pascu wrote:
> Trying to reconnect forever or for long periods of time is a bad thing.
Agree.
> Attached is a patch that fixes this in a better way. It still allows
> reconnects if the database connection was lost because of a server
> restart or the connection being closed because it was idle too long, but
> will allow the application to make decisions on its own if the database
> is down for good and cannot be reconnected.
Thank you!
> + for c in range(0, 3):
> try:
> if self.need_unicode:
> # For MysqlDB 1.2.1 and later, we go
> @@ -88,7 +100,9 @@
> else:
> return cursor.execute(query)
> except MySQLdb.OperationalError, e:
> - if e.args[0] == 2013: # SERVER_LOST error
> + if e.args[0] in (2006, 2013): # SERVER_GONE or SERVER_LOST
> error
> + if c == 2:
> + raise OperationalError(ErrorMessage(e))
I think I can move this "if...raise" out of the loop to "else" clause.
Oleg.
--
Oleg Broytmann http://phd.pp.ru/ [EMAIL PROTECTED]
Programmers don't die, they just GOSUB without RETURN.
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
sqlobject-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss