def reload_from_disk(scheduler): scheduler._state._state_path = fn.name scheduler.dump() scheduler = luigi.scheduler.Scheduler() scheduler._state._state_path = fn.name scheduler.load() return scheduler
def test_load_broken_state(self): with tempfile.NamedTemporaryFile(delete=True) as fn: with open(fn.name, 'w') as fobj: print >> fobj, "b0rk" scheduler = luigi.scheduler.CentralPlannerScheduler( state_path=fn.name) scheduler.load() # bad if this crashes self.assertEquals(list(scheduler._active_workers.keys()), [])
def test_load_old_state(self): tasks = {} active_workers = {"Worker1": 1e9, "Worker2": time.time()} with tempfile.NamedTemporaryFile(delete=True) as fn: with open(fn.name, "w") as fobj: state = (tasks, active_workers) pickle.dump(state, fobj) scheduler = luigi.scheduler.CentralPlannerScheduler(state_path=fn.name) scheduler.load() scheduler.prune() self.assertEquals(list(scheduler._active_workers.keys()), ["Worker2"])
def test_load_old_state(self): tasks = {} active_workers = {'Worker1': 1e9, 'Worker2': time.time()} with tempfile.NamedTemporaryFile(delete=True) as fn: with open(fn.name, 'w') as fobj: state = (tasks, active_workers) pickle.dump(state, fobj) scheduler = luigi.scheduler.CentralPlannerScheduler( state_path=fn.name) scheduler.load() scheduler.prune() self.assertEquals(list(scheduler._active_workers.keys()), ['Worker2'])