Example #1
0
 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
Example #2
0
 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
Example #3
0
    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()), [])
Example #4
0
    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"])
Example #5
0
    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'])