Exemple #1
0
    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()
Exemple #2
0
    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()
Exemple #3
0
    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)
Exemple #4
0
    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
Exemple #5
0
    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)
Exemple #8
0
    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()