Я написал несколько кодов для создания 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"})
но я не могу отправить сообщение клиентам! в чем проблема?