|
@@ -230,43 +230,44 @@ class ClockService(object):
|
|
|
return self._scheduler
|
|
|
|
|
|
|
|
|
-def EmbeddedClockService(*args, **kwargs):
|
|
|
- """Return embedded clock service.
|
|
|
+class _Threaded(threading.Thread):
|
|
|
+ """Embedded clock service using threading."""
|
|
|
|
|
|
- :keyword thread: Run threaded instead of as a separate process.
|
|
|
- Default is ``False``.
|
|
|
+ def __init__(self, *args, **kwargs):
|
|
|
+ super(_Threaded, self).__init__()
|
|
|
+ self.clockservice = ClockService(*args, **kwargs)
|
|
|
+ self.setDaemon(True)
|
|
|
|
|
|
- """
|
|
|
+ def run(self):
|
|
|
+ self.clockservice.start()
|
|
|
|
|
|
- class _Threaded(threading.Thread):
|
|
|
- """Embedded clock service using threading."""
|
|
|
+ def stop(self):
|
|
|
+ self.clockservice.stop(wait=True)
|
|
|
|
|
|
- def __init__(self, *args, **kwargs):
|
|
|
- super(_Threaded, self).__init__()
|
|
|
- self.clockservice = ClockService(*args, **kwargs)
|
|
|
- self.setDaemon(True)
|
|
|
|
|
|
- def run(self):
|
|
|
- self.clockservice.start()
|
|
|
+class _Process(multiprocessing.Process):
|
|
|
+ """Embedded clock service using multiprocessing."""
|
|
|
|
|
|
- def stop(self):
|
|
|
- self.clockservice.stop(wait=True)
|
|
|
+ def __init__(self, *args, **kwargs):
|
|
|
+ super(_Process, self).__init__()
|
|
|
+ self.clockservice = ClockService(*args, **kwargs)
|
|
|
|
|
|
- class _Process(multiprocessing.Process):
|
|
|
- """Embedded clock service using multiprocessing."""
|
|
|
+ def run(self):
|
|
|
+ platform.reset_signal("SIGTERM")
|
|
|
+ self.clockservice.start(embedded_process=True)
|
|
|
|
|
|
- def __init__(self, *args, **kwargs):
|
|
|
- super(_Process, self).__init__()
|
|
|
- self.clockservice = ClockService(*args, **kwargs)
|
|
|
+ def stop(self):
|
|
|
+ self.clockservice.stop()
|
|
|
+ self.terminate()
|
|
|
|
|
|
- def run(self):
|
|
|
- platform.reset_signal("SIGTERM")
|
|
|
- self.clockservice.start(embedded_process=True)
|
|
|
|
|
|
- def stop(self):
|
|
|
- self.clockservice.stop()
|
|
|
- self.terminate()
|
|
|
+def EmbeddedClockService(*args, **kwargs):
|
|
|
+ """Return embedded clock service.
|
|
|
|
|
|
+ :keyword thread: Run threaded instead of as a separate process.
|
|
|
+ Default is ``False``.
|
|
|
+
|
|
|
+ """
|
|
|
if kwargs.pop("thread", False):
|
|
|
# Need short max interval to be able to stop thread
|
|
|
# in reasonable time.
|