一尘不染

将有关数据库更改的通知发送给用户

ajax

我正在建立一个自助餐厅管理系统,其中有两种类型的用户;客户和柜台所有者。

对于自助餐厅中提供的每道菜,都有一个与之相关的独特的dish.id。

到现在为止,我有一个类似圆顶的东西,例如学生向带有URL的POST请求发送一个带有菜品,标识和计数器编号的POST请求,该URL更新“ orders
table”(以PK作为ID)。准备好菜品后,柜台所有者按“已废除” ”按钮。

在这一点上,我希望订单旁边的客户能收到“您的订单准备正在进行中”的通知。

我该怎么办?一种方法是简单地创建一个其参数为customer.id&status的视图,并使用True或Flase进行回复。如果收到True,我可以简单地轮询URL并提供通知。

但是,我觉得轮询不是更好的方法,因为将有很多客户登录,每个客户都将轮询服务器,这是不可接受的 。还有更好的办法吗?


阅读 221

收藏
2020-07-26

共1个答案

一尘不染

这确实取决于您的实际需求。

如果可以在用户活动的一部分中发送通知,则只需添加一条用户消息,该消息将在用户在页面上执行任何操作时显示。django.contrib.messages加上您的主要html模板中的几行即可。

但是,如果您希望通知是交互式的,则可以使用以下几种PUSH选项之一

有趣的链接:

从服务器端看,可用选项很少,最简单的是Green
Unicorn
。使用它可以让您以很少的进程打开和管理数千个连接。

2020-07-26