Как подключиться к брокеру Websocket в django
Я создаю алготрейдинговую платформу, у меня есть доступ к брокерским apis и websockets, но я не знаю, как подключиться к брокерскому websocket и потреблять данные в режиме реального времени в django
У меня настроены каналы:
#consumers.py
class ChatConsumer(WebsocketConsumer):
def connect(self):
self.accept()
self.external_socket = websocket.WebSocketApp(
"wss://api.shoonya.com/NorenWSTP/",
on_message=self.on_message,
on_error=self.on_error,
on_close=self.on_close,
)
self.send(text_data=json.dumps({
'type':'connection_established',
'message':'You are now connected!',
}))
self.external_socket.run_forever()
#routing.py
from django.urls import re_path
from . import consumers
websocket_urlpatterns = [
re_path(r'ws/socket-server/', consumers.ChatConsumer.as_asgi())
]
#asgi.py
import os
from django.core.asgi import get_asgi_application
from channels.routing import ProtocolTypeRouter, URLRouter
from channels.auth import AuthMiddlewareStack
import authengine.routing
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'atkmain.settings')
application = ProtocolTypeRouter({
'http': get_asgi_application(),
'websocket': AuthMiddlewareStack(
URLRouter(
authengine.routing.websocket_urlpatterns
)
)
})