async def log_loop(log_follower: DirectorSiteLogFollower) -> None:
    try:
        async for line in log_follower.iter_lines():
            if (not line):
                break
            (await websock.send(json.dumps({'line': line})))
    except (websockets.exceptions.ConnectionClosed, asyncio.CancelledError):
        pass
async def log_loop(log_follower: DirectorSiteLogFollower) -> None:
    try:
        async for line in log_follower.iter_lines():
            if (not line):
                break
            (await websock.send(json.dumps({'line': line})))
    except (websockets.exceptions.ConnectionClosed, asyncio.CancelledError):
        pass