Django Mealtime服务器监听器

时间:2020-01-28 12:50:49

标签: django postgresql django-channels django-redis

我对django很好。我有postgresql,其中有一些表,该表由C ++ apps填充。现在,我想构建django应用程序,以便在数据库中发生任何更改时可视化实时基础,它应该在我的django前端中实时更新。

我没有听说要使用什么技术,听说过django-channel,但不确定是否可以使用它。

这篇文章的目的是获得技术推荐建议。

在这种情况下有人可以帮助吗?

1 个答案:

答案 0 :(得分:0)

通过渠道,您可以进行以下操作:

A)创建基于异步等待的HTTP / Websocket连接处理程序,该处理程序可以长时间保持打开状态。

B)在这些句柄之间(或从其他地方)发送消息,使得如果处理程序已订阅group,则将调用该连接处理程序实例上的方法。

要拥有连接处理程序(使用Django的消费者),只要您更新数据库就可以获取更新,您可以执行以下两项操作之一。

1)当您写入数据库时​​,通过通道层发送消息。 2)当您的使用者连接时,设置一个Postgres事件触发器https://www.postgresql.org/docs/12/event-trigger-definition.html

(2)允许您在DB更新时获取事件,即使执行更新的代码对通道一无所知。 (1)另一方面,将要求对db进行所有更改的所有代码才能导入通道,但这是更标准的。