async def METHOD_NAME(self) -> None:
    try:
        if not await self._connected():
            return
        assert self.slot is not None
        with self.slot:
            await asyncio.sleep(self.interval)
            if self.active and not self._should_stop():
                await self._invoke_callback()
    finally:
        self._cleanup()