code: def handle(self):
          '''Make sure this message gets either 'fin' or 'req'd'''
          try:
              yield self
          except:
              # Requeue the message and raise the original exception
              typ, value, trace = sys.exc_info()
              if not self.processed:
                  try:
                      self.req(self.delay())
                  except socket.error:
                      self.connection.close()
              raise typ, value, trace
          else:
              if not self.processed:
                  try:
                      self.fin()
                  except socket.error:
                      self.connection.close(f handle(self):
          '''Make sure this message gets either 'fin' or 'req'd'''
          try:
              yield self
          except:
              # Requeue the message and raise the original exception
              typ, value, trace = sys.exc_info()
              if not self.processed:
                  try:
                      self.req(self.delay())
                  except socket.error:
                      self.connection.close()
              raise typ, value, trace
          else:
              if not self.processed:
                  try:
                      self.fin()
                  except socket.error:
                      self.connection.close()
docs: Make sure this message gets either 'fin' or 'req'd