(self)
| 23 | """Run account payment flows at configured local times.""" |
| 24 | |
| 25 | def __init__(self) -> None: |
| 26 | self.state_service = get_account_state_service() |
| 27 | self.payment_service = get_payment_service() |
| 28 | self.runtime_logs = get_runtime_log_service() |
| 29 | self._stop_event = threading.Event() |
| 30 | self._thread: threading.Thread | None = None |
| 31 | self._running_accounts: set[str] = set() |
| 32 | self._pause_requested: set[str] = set() |
| 33 | self._lock = threading.Lock() |
| 34 | |
| 35 | def start(self) -> None: |
| 36 | if self._thread and self._thread.is_alive(): |
| 37 | return |
| 38 | self._stop_event.clear() |
| 39 | self._thread = threading.Thread(target=self._run_loop, name="glm-desk-scheduler", daemon=True) |
| 40 | self._thread.start() |
nothing calls this directly
no test coverage detected