Source code for irc.schedule

import abc

import six

from tempora import schedule

__metaclass__ = type


[docs]@six.add_metaclass(abc.ABCMeta) class IScheduler:
[docs] @abc.abstractmethod def execute_every(self, period, func): "execute func every period"
[docs] @abc.abstractmethod def execute_at(self, when, func): "execute func at when"
[docs] @abc.abstractmethod def execute_after(self, delay, func): "execute func after delay"
[docs] @abc.abstractmethod def run_pending(self): "invoke the functions that are due"
[docs]class DefaultScheduler(schedule.InvokeScheduler, IScheduler):
[docs] def execute_every(self, period, func): self.add(schedule.PeriodicCommand.after(period, func))
[docs] def execute_at(self, when, func): self.add(schedule.DelayedCommand.at_time(when, func))
[docs] def execute_after(self, delay, func): self.add(schedule.DelayedCommand.after(delay, func))