async def METHOD_NAME(self) -> AsyncGenerator[List[str], None]:
    if self._node_role == NodeRole.SUPERVISOR:
        watch_fun = self._watch_supervisors_by_service_api
    else:
        watch_fun = self._watch_supervisors_by_cluster_web_api
    try:
        async for supervisors in watch_fun():
            yield supervisors
    except asyncio.CancelledError:
        pass