async def run_task(self) -> None:
while self.running:<EOL><INDENT>try:<EOL><INDENT>Log.debug('<STR_LIT>', self.name)<EOL>before = self.time()<EOL>await self.run()<EOL>total = self.time() - before<EOL>Log.debug('<STR_LIT>',<EOL>self.name, total)<EOL>sleep = self.INTERVAL - total<EOL>if sleep > <NUM_LIT:0>:<EOL><INDENT>await self.sleep(sleep)<EOL><DEDENT><DEDENT>except CancelledError:<EOL><INDENT>Log.debug('<STR_LIT>', self.name)<EOL>raise<EOL><DEDENT>except Exception:<EOL><INDENT>Log.exception('<STR_LIT>', self.name)<EOL><DEDENT><DEDENT>
Execute the task inside the asyncio event loop.  Track the time it
        takes to run, and log when it starts/stops.  After `INTERVAL` seconds,
        if/once the task has finished running, run it again until `stop()`
        is called.