отправка сообщения из задачи сельдерея на проблему django каналов в коде - PullRequest
0 голосов
/ 10 января 2020

Эй, ребята, в соответствии с моим предыдущим Вопросом:

Я написал несколько кодов для создания al oop в задаче сельдерея и отправил его всем подключенным клиентам: так я делаю это:

consumer.py :
from channels.generic.websocket import WebsocketConsumer
from .models import Crash , Crash_bets
import time
import random
import string
import hashlib
import numpy
import time
import json
from asgiref.sync import async_to_sync

class ChatConsumer(WebsocketConsumer):
    def connect(self):
        if self.scope["session"]["email"]:
            self.accept()
            async_to_sync(self.channel_layer.group_add)("chat", self.channel_name)

    def disconnect(self, close_code):
        async_to_sync(self.channel_layer.group_discard)("chat", self.channel_name)

    def crash_zarib(self, event):
        # Send message to WebSocket
        self.send(text_data=event["text"])

    def receive(self, text_data):
        self.send("hi")


task.py:
# Create your tasks here
from __future__ import absolute_import, unicode_literals
from celery import shared_task
import time

from channels.layers import get_channel_layer
from asgiref.sync import async_to_sync

@shared_task
def crash():
    while True:
        channel_layer = get_channel_layer()
        async_to_sync(channel_layer.group_send)("chat", {"type": "crash_zarib", "text": "hii"})

но я не могу отправить сообщение клиентам! в чем проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...