Beispiel #1
0
 def run(self):
     self._status = "working"
     while self._status:
         _func, args  = self._queue.get()
         if not self._status: break
         if not _func: break
         self.clear()
         self._name = name(_func)
         self.setName(self._name)
         self._begin = time.time()
         try: _func(*args)
         except Exception as ex: logging.error("& %s %s" % (str(ex), get_exception()))
         self._status = "ready"
         self._last = time.time()
         logging.info("! Task.finish %s %.6ss" % (self._name, self._last - self._begin))
         try: args[0].ready()
         except IndexError: pass
         if "once" in self and self.once: break
Beispiel #2
0
def forced(event):
    for bot in fleet:
        try: bot._sock.shutdown(2)
        except: event.reply("%s bot doesn't have a _sock attribute" % name(bot))
Beispiel #3
0
 def exit(self):
     logging.warn("# exit %s" % name(self))
     self._status = ""
     self._sock.settimeout(1.0)
     self._sock.sendto(bytes("bla", "utf-8"), (cfg.udp.host, cfg.udp.port))