Php 用户友好的视频审查与锁定
我们有一个jquery/php/mysql系统,允许用户登录并查看由系统构建的在线观看视频。当用户开始查看视频时,视频被标记为这样。但现在,我们陷入了一个典型的基于浏览器的应用程序问题,即用户在没有完成审查的情况下离开或关闭浏览器。然后,该视频将进入一种无休止的状态,即不断被审查,但从未完成,也从未重新进入队列 我们有以下选择:Php 用户友好的视频审查与锁定,php,jquery,mysql,session-timeout,onbeforeunload,Php,Jquery,Mysql,Session Timeout,Onbeforeunload,我们有一个jquery/php/mysql系统,允许用户登录并查看由系统构建的在线观看视频。当用户开始查看视频时,视频被标记为这样。但现在,我们陷入了一个典型的基于浏览器的应用程序问题,即用户在没有完成审查的情况下离开或关闭浏览器。然后,该视频将进入一种无休止的状态,即不断被审查,但从未完成,也从未重新进入队列 我们有以下选择: 构建一个服务(我们已经有其他服务)来查找超出持续时间边界的审阅会话,并将它们重置回队列中 当用户登录时,在持续时间边界外重置审阅会话。基本上,如果用户锁定视频进行查看,
- 构建一个服务(我们已经有其他服务)来查找超出持续时间边界的审阅会话,并将它们重置回队列中
- 当用户登录时,在持续时间边界外重置审阅会话。基本上,如果用户锁定视频进行查看,则下次登录时将解锁该视频
- 向我提出的建议是使用php/apache会话长度,并在到期时重置任何挂起的审阅作业。我甚至不知道在哪里实现它,因为这是共享服务器上的一个项目,所以它不应该是apache配置,但重置机制需要知道数据库凭据才能重置它
- 每个人都讨厌的最糟糕的解决方案是阻止用户使用javascript导航,并询问“你确定吗?!”
这个系统是由一些雇佣的评论员使用的,所以我在这里并不是与公众打交道,但我不能阻止用户共享登录名以更快地进行评议,这将取消上面的第二个选项,因为它将解锁其他人使用相同登录名查看的视频。当一个人在单个页面上查看单个视频时。您可以捕获JavaScript卸载事件,该事件将在页面卸载且客户端离开页面时触发。然后,您可以更改该视频的状态,甚至显示一个对话框,让用户决定
也许乒乓球系统会有所帮助。在后面,通过ident进行绑定到视频的AJAX调用。当该活动停止时,用户停止。后台进程可以查找最新的ping,例如,一小时前,可以更改其状态。当一个人在单个页面上查看单个视频时。您可以捕获JavaScript卸载事件,该事件将在页面卸载且客户端离开页面时触发。然后,您可以更改该视频的状态,甚至显示一个对话框,让用户决定
也许乒乓球系统会有所帮助。在后面,通过ident进行绑定到视频的AJAX调用。当该活动停止时,用户停止。后台进程可以查找最新的ping,例如,在一小时前,可以更改其状态。有两个很好的选项不会对服务器造成负担。要么:
老实说,我会选择第二种。所以使用它,它在这里工作得很好。并不是每个页面都有这样的评论,只是那些有活跃评论的页面…有两个不错的选择,不会让你的服务器负担过重。要么:
老实说,我会选择第二种。所以使用它,它在这里工作得很好。并不是每一页都有评论,只是那些有积极评论的页面…你的第一个选择是你的最佳选择。当浏览器窗口打开时,页面上可以有一个javascript定时器更新视频的lastestActivity记录,这样你就不会进入需要太长时间的审查的角落,解锁器会过早地释放锁 选项2存在问题,原因有几个,其中一些已经提到,但考虑到审阅者可能在几天内(假期?)不登录,将不必要地解锁太长时间的视频
选项4(Javascript onBeforeUnload)在浏览器崩溃、操作系统崩溃或电源故障的常见情况下不适用。但这是你可以实现的附加功能。你的第一个选择是你的最佳选择。当浏览器窗口打开时,页面上可以有一个javascript定时器更新视频的lastestActivity记录,这样你就不会进入需要太长时间的审查的角落,解锁器会过早地释放锁 选项2存在问题,原因有几个,其中一些已经提到,但考虑到审阅者可能在几天内(假期?)不登录,将不必要地解锁太长时间的视频
选项4(Javascript onBeforeUnload)在浏览器崩溃、操作系统崩溃或电源故障的常见情况下不适用。但是,您还可以实现它。我使用的是运行良好的PHP System_守护进程Pear库,而不是cron。我正在考虑制作另一个守护进程来执行一些维护工作,让这个服务解锁会话