From 4a52a71956a8d46fcb7294ac71734504bb09bcc2 Mon Sep 17 00:00:00 2001 From: S. Solomon Darnell Date: Fri, 28 Mar 2025 21:52:21 -0500 Subject: two version of R2R are here --- .../apscheduler/schedulers/background.py | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 .venv/lib/python3.12/site-packages/apscheduler/schedulers/background.py (limited to '.venv/lib/python3.12/site-packages/apscheduler/schedulers/background.py') diff --git a/.venv/lib/python3.12/site-packages/apscheduler/schedulers/background.py b/.venv/lib/python3.12/site-packages/apscheduler/schedulers/background.py new file mode 100644 index 00000000..7d8d1bc7 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/apscheduler/schedulers/background.py @@ -0,0 +1,42 @@ +from threading import Event, Thread + +from apscheduler.schedulers.base import BaseScheduler +from apscheduler.schedulers.blocking import BlockingScheduler +from apscheduler.util import asbool + + +class BackgroundScheduler(BlockingScheduler): + """ + A scheduler that runs in the background using a separate thread + (:meth:`~apscheduler.schedulers.base.BaseScheduler.start` will return immediately). + + Extra options: + + ========== ============================================================================= + ``daemon`` Set the ``daemon`` option in the background thread (defaults to ``True``, see + `the documentation + `_ + for further details) + ========== ============================================================================= + """ + + _thread = None + + def _configure(self, config): + self._daemon = asbool(config.pop("daemon", True)) + super()._configure(config) + + def start(self, *args, **kwargs): + if self._event is None or self._event.is_set(): + self._event = Event() + + BaseScheduler.start(self, *args, **kwargs) + self._thread = Thread( + target=self._main_loop, name="APScheduler", daemon=self._daemon + ) + self._thread.start() + + def shutdown(self, *args, **kwargs): + super().shutdown(*args, **kwargs) + self._thread.join() + del self._thread -- cgit v1.2.3