如果我用Django-channels构建一个站点(nginx + channel,我喜欢它的websocket能力),我还能在其他正常的django项目中添加一些在后台运行的芹菜应用/任务吗?
答案 0 :(得分:4)
例如https://vincenttide.com/blog/1/django-channels-and-celery-example/
您创建websocket,服务器发送实时消息。
您收到请求,创建任务(并告知要回复的频道)。
@channel_session
def ws_receive(message):
job.delay(message.reply_channel.name)
您收到任务,运行它。并通过daphne向浏览器发送实时消息。
@app.task
def job(reply_channel):
Channel(reply_channel).send({
"text": json.dumps ({
"action": "completed",
})
})
答案 1 :(得分:1)
答案是 是。芹菜是一个不同的独立过程。你可以使用django-channels和芹菜,就像你会使用芹菜和Django一样。