[Zope3-dev] Re: rdb: Disappearing Connection

Dieter Maurer dieter at handshake.de
Tue Dec 27 14:13:37 EST 2005


Jim Washington wrote at 2005-12-16 16:23 -0500:
> ...
>What seems to work for me now is the following as 
>mysqldbda.adapter.MySQLdbAdapter.isConnected()
>
>def isConnected(self):
>        try:
>            self._v_connection.ping()
>        except:
>            # not connected or ping did not restore MySQL connection
>            if self._v_connection is not None:
>                self._v_connection.close()
>                self._v_connection = None
>            return False
>        return True
>
>I am not well-versed in the intricacies of conflictError, so what else 
>should happen here?  I do not see how there would be unresolved 
>transactions remaining, and the connection I need is now available or 
>soon will be established.

"isConnected" is fine as you cite it above.

However, the action taken (by the caller) when "isConnected" returns
"False" might be wrong. Reopening and then
using the connection in this case is safe only
when the connection was not yet used before in this same transaction.

-- 
Dieter


More information about the Zope3-dev mailing list