我目前有一个PHP脚本在后台运行,执行一个读取大表的PHP脚本。同时它将结果发送到API。这是通过无缓冲查询完成的。
在这个脚本的顶部,我放了
ignore_user_abort(true);
set_time_limit(0);
确保脚本在后台运行,直到完成为止。我还有一个从这个脚本获取进度报告的Javascript。但是,当重新加载页面时,进度再次开始,它将开始再次将数据发送到API复制数据。
我想知道是否有办法让用户继续使用脚本。所以脚本已经在后台运行了,但是有没有办法让用户返回脚本,这样他们就好像从未离开过?
EX:
用户开始导入,导入为100行中的200行。他们刷新页面,页面显示100行中的202行。由于脚本在后台执行,因此用户离开时,202 mil导致时间已超过导入更多行。
先谢谢你
答案 0 :(得分:0)
您可以在这种情况下使用websocket。当您建立与websocket的新连接时,您可以将连接存储在cookie中。然后,当您重新加载页面时,您可以重新建立与websocket服务器的连接。最重要的是,你需要一个可以从cookie变量中读取的websocket服务器。
答案 1 :(得分:0)
使用cookie可以完成吗?
每次运行时,更新所述cookie然后如果刷新页面使用cookie中的信息从它停止的地方开始并更新页面?