code: def read_events(
      self, channel: str, last_id: Optional[str]
  ) -> list[Optional[dict[str, Any]]]:
      stream_name = f"{self._stream_prefix}{channel}"
      start_id = increment_id(last_id) if last_id else "-"
      results = self._redis.xrange(
          stream_name, start_id, "+", self.MAX_EVENT_COUNT
      )
      return [] if not results else list(map(parse_event, results))
  
imports: import json
  import logging
  import uuid
  from typing import Any, Literal, Optional
  import jwt
  import redis
  from flask import Flask, request, Request, Response, session
  from superset.utils.core import get_user_id
label_desc: Use image node_id 8 for calling the AsyncQueryManager obj's underlying member method code with example usage: obj.read_events(channel, last_id) and returns: unknown