(self)
| 915 | return self._running |
| 916 | |
| 917 | async def _run(self) -> None: |
| 918 | if not self._running: |
| 919 | return |
| 920 | try: |
| 921 | val = self.callback() |
| 922 | if val is not None and isawaitable(val): |
| 923 | await val |
| 924 | except Exception: |
| 925 | app_log.error("Exception in callback %r", self.callback, exc_info=True) |
| 926 | finally: |
| 927 | self._schedule_next() |
| 928 | |
| 929 | def _schedule_next(self) -> None: |
| 930 | if self._running: |
nothing calls this directly
no test coverage detected