async def METHOD_NAME(
    event_log, websocket_address, websocket_ssl_verify
):
    logger.info("feedback websocket %s connecting", websocket_address)
    event = None
    async for websocket in websockets.connect(
        websocket_address,
        logger=logger,
        ssl=_sslcontext(websocket_address, websocket_ssl_verify),
    ):
        logger.info("feedback websocket %s connected", websocket_address)
        try:
            if event:
                logger.info("Resending last event...")
                await websocket.send(json.dumps(event))
                event = None
            while True:
                event = await event_log.get()
                logger.debug(f"Event received, {event}")
                if event == dict(type="Exit"):
                    logger.info("Exiting feedback websocket task")
                    return
                await websocket.send(json.dumps(event))
                event = None
        except websockets.exceptions.ConnectionClosed:
            logger.warning(
                "feedback websocket %s connection closed, will retry...",
                websocket_address,
            )
        except CancelledError:
            logger.info("closing feedback websocket due to task cancelled")
            return
        except BaseException as err:
            logger.error(
                "feedback websocket error on %s err: %s", event, str(err)
            )