如何在带有 channel/celery/redis 等的 django-react 应用程序中实现实时评论系统?

How to implement real-time comment system in a django-react app with channel/celery/redis etc..?

我有一个带有 Django 后端和 React 前端的网络应用程序,在组织或公司内部有多个用户。现在,我正在尝试实现实时评论系统,如果一个用户输入任何评论并发布它,另一个用户将能够在不刷新页面的情况下看到它。

我看过一些使用 celery 和 redis 的异步任务的例子,但找不到任何用 react 实现的例子。

在 react/django 应用程序中实现实时评论系统的好方法是什么?

这是一个使用 celery、redis 和 WebSockets(Django Channels)和 React 前端(以及 docker 用于部署)的简单任务示例。任务状态和进度通过 WebSockets https://github.com/pplonski/simple-tasks

更新

另一个选项是长轮询,用户不需要刷新页面,但 React 会每隔几秒发出请求以获取新数据(简单而可靠的方法)。我在许多(许多)应用程序中看到过这种方法。几年前我会害怕这样的实现(请求太多)。但是现在,我将 select 这种方法,因为它很简单。