当服务器端发生事件时,如何使用通道向Websocket客户端发送消息?

时间:2019-05-08 13:51:05

标签: django websocket django-celery django-channels

我正在使用django,celery和(尝试)频道构建RTS应用程序。 Celery一直在侦听串行端口,当它收到重要消息时,它应该能够自动将消息推送到客户端,从那里开始,反应将接手。 问题是:我不熟悉所有这些。我确实尝试将一些随机信息推送到客户端并将其打印到控制台,但是没有用。

我所做的是在芹菜中设置了一项定期任务,该任务将使用消费者类发送一些数据。对我来说,很明显为什么它行不通:我不知道该怎么做。我发现的所有指南都显示了如何制作聊天应用程序……我不知道,但这在此方面是一个有限的观点。

也许也很有用:还不包括通道层。

请注意,它仍然非常原型化。任务如下。我知道是错的忽略导入,它们还没有含义。

# Create your tasks here
from __future__ import absolute_import, unicode_literals
from .serialconnection import SerialConnection
from celery import shared_task
from .consumers import AlertConsumer

from .models import Alert, Module


@shared_task
def test_websocket():
    AlertConsumer.send_json(content={"text": 'teste'})

我希望能够将消息发送到客户端并将其记录在控制台上。现在,我什至无法发送邮件。是否有特殊或特定的方法来实现这一点?

0 个答案:

没有答案