def callback(self, cb, bot, ievent): """ callback cb with bot and ievent as arguments """ try: # see if the callback pre requirement succeeds if cb.prereq: rlog(-10, "callback", "excecuting in loop %s" % str(cb.prereq)) if not cb.prereq(bot, ievent): return # check if callback function is there if not cb.func: return # log and stats rlog(0, "callback", "excecuting callback %s" % str(cb.func)) stats.up("callbacks", getname(cb.func)) stats.up("callbacks", cb.plugname) # launcn the callback .. either threaded or dispatched at runners if cb.threaded: start_new_thread(cb.func, (bot, ievent), cb.kwargs) else: cbrunners[10 - cb.speed].put("cb-%s" % cb.plugname, cb.func, bot, ievent, **cb.kwargs) except Exception, ex: handle_exception()
def callback(self, cb, bot, ievent): """ callback cb with bot and ievent as arguments """ try: # see if the callback pre requirement succeeds if cb.prereq: rlog(-10, 'callback', 'excecuting in loop %s' % str(cb.prereq)) if not cb.prereq(bot, ievent): return # check if callback function is there if not cb.func: return # log and stats rlog(0, 'callback', 'excecuting callback %s' % str(cb.func)) stats.up('callbacks', getname(cb.func)) stats.up('callbacks', cb.plugname) # launcn the callback .. either threaded or dispatched at runners if cb.threaded: start_new_thread(cb.func, (bot, ievent), cb.kwargs) else: cbrunners[10 - cb.speed].put("cb-%s" % cb.plugname, cb.func, bot, ievent, **cb.kwargs) except Exception, ex: handle_exception()
def handle(self, descr, func, bot, ievent, *args, **kwargs): """ schedule a job. """ self.working = True try: name = getname(str(func)) stats.up("runners", name) stats.up("runners", bot.name) rlog( 4, "runner", "%s (%s) running %s: %s at speed %s" % (ievent.nick, ievent.userhost, descr, str(func), ievent.speed), ) self.starttime = time.time() func(bot, ievent, *args, **kwargs) for queue in ievent.queues: queue.put_nowait(None) self.finished = time.time() self.elapsed = self.finished - self.starttime if self.elapsed > 3: rlog( 10, "runner", "ALERT %s %s job taking too long: %s \ seconds" % (descr, str(func), self.elapsed), ) except Exception, ex: handle_exception(ievent)
def list(self): """ show all callbacks. """ result = [] # loop over callbacks and collect callback functions for cmnd, callbacks in self.cbs.iteritems(): for cb in callbacks: result.append(getname(cb.func)) return result
def handle(self, descr, func, *args, **kwargs): """ schedule a job. """ self.working = True try: name = getname(str(func)) stats.up('runners', name) rlog(4, 'runner', 'running %s: %s' % (descr, name)) self.starttime = time.time() func(*args, **kwargs) self.finished = time.time() self.elapsed = self.finished - self.starttime if self.elapsed > 3: rlog( 10, 'runner', 'ALERT %s %s job taking too long: %s \ seconds' % (descr, str(func), self.elapsed)) except Exception, ex: handle_exception()
def handle(self, descr, func, bot, ievent, *args, **kwargs): """ schedule a job. """ self.working = True try: name = getname(str(func)) stats.up('runners', name) stats.up('runners', bot.name) rlog(4, 'runner', '%s (%s) running %s: %s at speed %s' % \ (ievent.nick, ievent.userhost, descr, str(func), ievent.speed)) self.starttime = time.time() func(bot, ievent, *args, **kwargs) for queue in ievent.queues: queue.put_nowait(None) self.finished = time.time() self.elapsed = self.finished - self.starttime if self.elapsed > 3: rlog( 10, 'runner', 'ALERT %s %s job taking too long: %s \ seconds' % (descr, str(func), self.elapsed)) except Exception, ex: handle_exception(ievent)
def handle(self, descr, func, *args, **kwargs): """ schedule a job. """ self.working = True try: name = getname(str(func)) stats.up("runners", name) rlog(4, "runner", "running %s: %s" % (descr, name)) self.starttime = time.time() func(*args, **kwargs) self.finished = time.time() self.elapsed = self.finished - self.starttime if self.elapsed > 3: rlog( 10, "runner", "ALERT %s %s job taking too long: %s \ seconds" % (descr, str(func), self.elapsed), ) except Exception, ex: handle_exception()