PHP自我卷曲以避免FastCGI超时

时间:2014-07-09 23:22:41

标签: php loops curl timeout fastcgi

所以这就是我的困境。我需要提取数百个API调用数据,一次解析一个,并记录匹配数据。我的问题是这需要一段时间,我在共享主机和我的FastCGI繁忙超时不能改变(Web主机将不会这样做,因为我相信共享主机)。所以我完全不知道如何解决这个问题。我不能做CLI,因为它是一个面向用户的工具,他们输入一个数据列表,这就是我所匹配的。因此,一旦收到输入,我需要PHP自行运行直到完成(可能需要几个小时)。

我尝试了一切,没有任何作用。此时尝试欺骗系统我有文件是自引用而不是循环,但似乎不起作用。我认为这是我唯一的方法(除非有人有更好的主意)而且我正试图弄清楚如何在FastCGI的眼中让每一次回调都重新“重启”。 HELP !!

1 个答案:

答案 0 :(得分:1)

如果您有权访问exec,那么您可以随时创建另一个PHP脚本来实际执行,或者创建其他程序或脚本,然后使用exec调用该脚本,这样您就可以了可以让它在机器上运行而不是通过FastCGI运行。然后,您需要在脚本中使用某种进度跟踪来跟踪它的获取时间或完成时间,然后有一个页面来检查请求的进度:)

注意:这对于生产解决方案来说确实不是一个好主意,但它会比计算递归卷曲调用更好:)