关注各种黑科技
B站UP主,编程教学,游戏玩家,挂B,金牛座

Django Channels初探 part2

本节继续介绍关于Django Channels更多内容   自定义channel
Channel("thumbnailer").send({ "image_id": image.id })
上面代码使用 thumbnailer频道并发送了一条消息,当引用的频道名称不存在时,此方法会自动创建一个并返回。   上面的Channel('xxx')代码可以直接写到routing.py中来新建一个频道供使用? 测试中不能发送到在routing里绑定到url的频道?   生产环境运行方式 让worker进程单独运行 python manage.py runworker   ASGI与Daphne interface server也需要单独运行,这里使用Daphne实现。daphne需要一个asgi.py配置来启动(与django的wsgi.py类似)。ASGI是一套用于HTTP/2 和websockets的服务端接口标准。
#asgi.py
import os
from channels.asgi import get_channel_layer
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djchan.settings")
channel_layer = get_channel_layer()
  启动
daphne djchan.asgi:channel_layer
  Nginx反代配置 略,之后介绍   错误处理 channels并不能保证消息的正确性(没有到达消息队列,没有返回响应,消息丢失等)。你可以自己实现一些错误处理重试逻辑,或者使用celery来处理这些情况。              
转载请注明出处
分享到: 更多 (0)

评论 0