Beispiel #1
0
 def test_call_later_once(self):
     self.called = 0
     reactor = Clock()
     call = CallLaterOnce(self.call_function, reactor=reactor)
     call.schedule(delay=1)
     reactor.advance(1)
     assert self.called == 1
Beispiel #2
0
 def test_call_later_twice_already_scheduled(self):
     self.called = 0
     reactor = Clock()
     call = CallLaterOnce(self.call_function, reactor=reactor)
     call.schedule(delay=1)
     call.schedule(delay=2)
     reactor.advance(2)
     assert self.called == 1
Beispiel #3
0
class DBWorkerPeriodicComponent(DBWorkerBaseComponent):
    def __init__(self, worker, settings, stop_event, *args, **kwargs):
        super(DBWorkerPeriodicComponent,
              self).__init__(worker, settings, stop_event)
        self.periodic_task = CallLaterOnce(self.run_and_reschedule)
        self.periodic_task.setErrback(self.run_errback)

    def schedule(self, delay=0):
        self.periodic_task.schedule(delay)

    def run_and_reschedule(self):
        if not self.stopped:
            self.run()
            self.periodic_task.schedule()

    def run_errback(self, failure):
        self.logger.error(failure.getTraceback())
        if not self.stopped:
            self.periodic_task.schedule()

    @property
    def stopped(self):
        return self.stop_event.is_set()
Beispiel #4
0
class DBWorkerPeriodicComponent(DBWorkerBaseComponent):

    def __init__(self, worker, settings, stop_event, *args, **kwargs):
        super(DBWorkerPeriodicComponent, self).__init__(worker, settings, stop_event)
        self.periodic_task = CallLaterOnce(self.run_and_reschedule)
        self.periodic_task.setErrback(self.run_errback)

    def schedule(self, delay=0):
        self.periodic_task.schedule(delay)

    def run_and_reschedule(self):
        if not self.stopped:
            self.run()
            self.periodic_task.schedule()

    def run_errback(self, failure):
        self.logger.error(failure.getTraceback())
        if not self.stopped:
            self.periodic_task.schedule()

    @property
    def stopped(self):
        return self.stop_event.is_set()
Beispiel #5
0
 def __init__(self, worker, settings, stop_event, *args, **kwargs):
     super(DBWorkerPeriodicComponent,
           self).__init__(worker, settings, stop_event)
     self.periodic_task = CallLaterOnce(self.run_and_reschedule)
     self.periodic_task.setErrback(self.run_errback)
Beispiel #6
0
 def __init__(self, worker, settings, stop_event, *args, **kwargs):
     super(DBWorkerPeriodicComponent, self).__init__(worker, settings, stop_event)
     self.periodic_task = CallLaterOnce(self.run_and_reschedule)
     self.periodic_task.setErrback(self.run_errback)