Соединение WebSocket не возвращает никаких данных?

Я запускаю этот код, квитирование и соединение работают нормально, но я не получаю никаких результатов после запуска клиента, хотя код работает идеально без каких-либо проблем. Есть ли какая-нибудь идея, чтобы решить эту проблему?

примечание: В своем проекте я использую graphql и фреймворк Django

import asyncio
import graphene
from channels.routing import ProtocolTypeRouter, URLRouter

class Query(graphene.ObjectType):
    hello = graphene.String()

    @staticmethod
    def resolve_hello(obj, info, **kwargs):
        return "world"


class Subscription(graphene.ObjectType):
    """Channels WebSocket consumer which provides GraphQL API."""
    count_seconds = graphene.Float()
    

    async def resolve_count_seconds(root, info):
        for i in range(10):
            yield i

            await asyncio.sleep(1.)

schema = graphene.Schema(query=Query, subscription=Subscription)

class MyGraphqlWsConsumer(channels_graphql_ws.GraphqlWsConsumer):
    """Channels WebSocket consumer which provides GraphQL API."""
    schema = schema

    async def on_connect(self, payload):
        pass

application = channels.routing.ProtocolTypeRouter({
    "websocket": channels.routing.URLRouter([
        django.urls.path("graphql/", MyGraphqlWsConsumer.as_asgi()),
    ])
})

ASGI_APPLICATION = 'graphql_ws.urls.application'

клиент:

from graphql_client import GraphQLClient

ws = GraphQLClient('ws://localhost:8000/graphql/')

def callback(_id, data):
    print("got new data..")
    print(f"msg id: {_id}. data: {data}")


query = """
  subscription  {
    countSeconds  
  }
"""
sub_id = ws.subscribe(query, callback=callback)


Вернуться на верх