我想在php中完成以下行为:
1 - 使用参数调用脚本
2- I为长时间运行的操作启动一个线程
3 - 脚本应该将控制权返回给调用者
4-线程执行直到完成
这种行为可能吗?我现在看到的是,脚本不会返回,直到线程完成执行,这是有道理的,因为如果脚本停止执行,线程的执行可能会死,但是没有办法阻止客户端,所以他们可以继续他们的业务?我是否坚持使用一些exec()调用来获取此行为?有没有办法只通过线程完成这项工作?我想尽可能避免使用exec ..
因此,如果有人从浏览器调用我的脚本,那么它应该只是立即返回,并且长时间运行的进程应该继续执行直到完成。
由于
丹尼尔
答案 0 :(得分:0)
是的,它可能。通过AJAX调用php脚本,并动态创建ajax函数的多个实例。请参见附件截图。当我比较运行单个函数和24个实例的结果时,我的数据处理速度提高了大约15倍。我正在尝试使用大约3000万条记录填充MySQL表,并且每条记录都涉及根据lat / lng计算距离市中心的距离。所以是的,它没有在公园散步。正如你所看到的,我正在平均看到这个:
multi threads http://gaysugardaddyfinder.com/screen2.PNG multi threads http://gaysugardaddyfinder.com/screen.png
这可能是一个光荣的黑客或者不是 - 但它确实对我有用。
我的服务器是具有64 GB RAM的Xeon 72 Core设置。