当前位置:  开发笔记 > 编程语言 > 正文

当多个用户正在查看记录并且1个人更新记录时,如何通知其他记录更新?

如何解决《当多个用户正在查看记录并且1个人更新记录时,如何通知其他记录更新?》经验,为你挑选了0个好方法。

在我的项目管理应用程序中,我想解决多个用户查看相同任务记录的问题,其中一个或多个更新一些任务数据,而其他人正在查看它.


这是一个场景......

用户#1查看任务#1用户#2视图任务#1

现在,用户#2更新了任务#1描述

用户#1现在正在查看任务记录,但是他的视图显示了不同的过时描述,因为用户#2刚刚更新了它!更糟糕的是,他可能想要自己编辑描述,这将完全覆盖用户#2的描述更新.


这是问题的一个例子.只需添加更多用户,问题就会倍增!

理想情况下,我会使用套接字或Pusher.com等服务,在任何用户进行更新后立即更新所有用户的数据.然而,这个项目将在数百台服务器上运行,并且就服务器要求而言功能有限,因此套接字甚至像Pusher这样的服务都是不可能的!

解决方案的另一个想法是基于Twitter的作用.如果您查看人员Twitter页面,并且他们在您加载页面时发布新帖子.它会显示一条通知消息DIV,告诉您有多个新帖子,并为您提供一个链接,点击重新加载包含最新帖子的帖子流.

在此输入图像描述

我相信类似的方法可以适用于我的项目.如果用户在查看该任务记录时对任何任务数据进行更新.它将在任务模式窗口上显示通知消息,告知用户任务数据已更新,并且他们应重新加载任务.

为了完成这项工作,我知道需要在某个时间间隔内进行一些AJAX请求.

然后,该AJAX请求需要比较在任务记录上进行的上次更新的时间戳,并将其与查看任务记录的用户开始查看它或从上次重新加载任务的时间进行比较.

我觉得我的逻辑虽然错过了一块拼图吗?这一切都是正确的还是我错过了什么?

有人可以解释我是如何做到这一点或告诉我,我的想法是否正确?

我知道,简而言之,我只需确定任务上次修改时间戳是否在其他用户开始查看任务之后.在某些时候我觉得用户的时间也应该更新?

UPDATE

我完全忘记了Stack Overflow在问题和答案上做了这个确切的任务!当您在SO上查看页面并更新答案时,它将显示一条通知消息,告知您重新加载答案并提供重新加载答案的链接.这就是我想要做的!

StackOverflow使用Web套接字执行此操作,但在我的应用程序中,这是一个在许多不同的服务器配置上使用的插件,我不能使用套接字.我试图用AJAX实现类似的结果.即使是每隔30秒发出一次AJAX请求来修改任务时间并将其与另一个进行比较以确定用户是否应该重新加载任务数据也适用于我的情况

在此输入图像描述

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有