def test_polled_time_no_interval_not_started(self): """ Try to setup some jobs with the scheduler before the scheduler has been started. Then try to startup and see if the job is setup properly. """ now = datetime.datetime.now() test_name = 'test_job' min_interval = PolledScheduler.interval(seconds=1) self._scheduler = PolledScheduler() self.assertFalse(self._scheduler.running) # Verify that triggered events work. job = self._scheduler.add_polled_job(self._callback, test_name, min_interval) self.assertIsNotNone(job) self.assertEqual(len(self._scheduler.get_jobs()), 0) self.assertEqual(len(self._scheduler._pending_jobs), 1) self._scheduler.start() log.debug("JOBS: %s" % self._scheduler.get_jobs()) self.assertEqual(len(self._scheduler.get_jobs()), 1) self.assertTrue(self._scheduler.run_polled_job(test_name)) self.assertFalse(self._scheduler.run_polled_job(test_name)) time.sleep(2) self.assertTrue(self._scheduler.run_polled_job(test_name))
def setUp(self): """ Setup the test case """ self._scheduler = PolledScheduler() self._scheduler.start() self._triggered = [] self.assertTrue(self._scheduler.daemonic)
def __init__(self, config=None): """ config structure: { test_name: { trigger: {} callback: some_function } } @param config: job configuration structure. """ self._scheduler = PolledScheduler() if (config): self.add_config(config)
def _build_scheduler(self): """ Build a scheduler for periodic status updates """ self._scheduler = PolledScheduler() self._scheduler.start() def event_callback(event): log.info("driver job triggered, raise event: %s" % event) self._fsm.on_event(event) # Dynamically create the method and add it method = partial(event_callback, RSNPlatformDriverEvent.GET_ENG_DATA) self._job = self._scheduler.add_interval_job( method, seconds=self.oms_sample_rate)