PHP运行后台任务,然后通知正确的客户端


PHP run a background task then notify the right client

我试着在问之前谷歌,但我无法理解是否可以用php实现以下场景:—运行立即返回用户的脚本。它的工作是在后台运行一个长时间的任务-当它完成时通知正确的浏览器客户端,即使用户已经浏览了同一域/web应用程序上的其他页面

我可以用php做吗?我可以做一些框架,如node.js ?或者使用像长时间投票这样的技术(我对此了解不多)。还是…

我在寻找一个能指引我正确方向的人。

多谢

是可能的。

你可以使用jQuery/JavaScript和PHP的组合。

例如,在您的数据库中有一行名为NotificationPop,如果有值,您可以提示用户只是作为一个例子。

无论如何,这是一个相当广泛的问题。只要尝试失败,如果你遇到任何问题,SO将很乐意帮助你。

我认为你应该看看Websockets。它们是实时推送通知或聊天室背后的东西。基本上,当服务器端发生某些事情(或完成某个过程)时,服务器将"联系"正确的用户(即使他已经更改了网页,但仍在同一域上)。服务器消息的内容完全由您决定。你可以做任何你想做的。
更多信息在这里(尝试演示应用程序):
https://www.websocket.org/index.html

也可以阅读http://www.html5rocks.com/en/tutorials/websockets/basics/来理解为什么不应该使用周期性轮询或长轮询。

注。请注意,为了使用websocket,你需要在你的服务器上运行一个websocket服务器。这在共享主机上是不可能的(据我所知),但你需要一个VPS(虚拟专用服务器)。