def execute (self, request):
self.begin_tran (request)
if not self.connected:
self.connect ()
else:
state = self.poll ()
if state != POLL_OK:
self.reconnect ()
elif not self.backend:
self.add_channel ()