From 8c738d109496e7bba253b37e28348e7834d43330 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 17 Oct 2017 17:11:43 +0100 Subject: [PATCH] Drop scheduler code which is no longer needed Signed-off-by: Michael Tremer --- Makefile.am | 1 - po/POTFILES.in | 1 - src/buildservice/scheduler.py | 112 ---------------------------------- 3 files changed, 114 deletions(-) delete mode 100644 src/buildservice/scheduler.py diff --git a/Makefile.am b/Makefile.am index 4866f73..2dc367b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -95,7 +95,6 @@ buildservice_PYTHON = \ src/buildservice/misc.py \ src/buildservice/packages.py \ src/buildservice/repository.py \ - src/buildservice/scheduler.py \ src/buildservice/sessions.py \ src/buildservice/settings.py \ src/buildservice/sources.py \ diff --git a/po/POTFILES.in b/po/POTFILES.in index f652982..44486a5 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -16,7 +16,6 @@ src/buildservice/mirrors.py src/buildservice/misc.py src/buildservice/packages.py src/buildservice/repository.py -src/buildservice/scheduler.py src/buildservice/sessions.py src/buildservice/settings.py src/buildservice/sources.py diff --git a/src/buildservice/scheduler.py b/src/buildservice/scheduler.py deleted file mode 100644 index 1274be6..0000000 --- a/src/buildservice/scheduler.py +++ /dev/null @@ -1,112 +0,0 @@ -#!/usr/bin/python - -import logging -import multiprocessing -import time -import traceback - -from . import Backend - -class Event(object): - interval = None - - priority = 0 - - def __init__(self, *args, **kwargs): - self.args = args - self.kwargs = kwargs - - self._next_start_time = 0 - - self.scheduler = None - - def __repr__(self): - if hasattr(self, "_next_start_time"): - return "<%s next_start_in=%ds>" % \ - (self.__class__.__name__, self._next_start_time - time.time()) - - return "<%s>" % self.__class__.__name__ - - def run(self, *args, **kwargs): - raise NotImplemented - - def run_subprocess_background(self, method, *args): - arguments = [method,] + list(args) - - process = multiprocessing.Process(target=self.fork, args=arguments) - process.daemon = False - - # Start the process. - process.start() - - return process - - def run_subprocess(self, *args): - process = self.run_subprocess_background(*args) - - # Wait until process has finished. - process.join() - - @staticmethod - def fork(method, *args, **kwargs): - # Create new pakfire instance. - backend = Backend() - - return method(backend, *args, **kwargs) - - -class Scheduler(object): - def __init__(self): - self._queue = [] - - def add_event(self, event, start_time=None): - event.scheduler = self - - self._queue.append(event) - - # Set initial start time. - if start_time is None: - start_time = time.time() - - event._next_start_time = start_time - - def sort_queue(self): - self._queue.sort(key=lambda e: (e.priority, e._next_start_time)) - - def run(self): - while self._queue: - self.sort_queue() - print self._queue - - for event in self._queue: - # If the event has to be started some time in - # the future. - if event._next_start_time <= time.time(): - try: - logging.info("Running %s..." % event) - - event.run(*event.args, **event.kwargs) - - # In case the user interrupts the scheduler. - except KeyboardInterrupt: - # Stop immediately. - return - - except: - traceback.print_exc() - - finally: - # Set the next execution time if the event - # should be run again. - if event.interval: - event._next_start_time = time.time() + event.interval - - # Otherwise remove it from the queue. - else: - self._queue.remove(event) - - # Get back to outer loop and sort the queue again. - break - - # Sleep a bit. - time.sleep(1) -- 2.39.2