PHP使用间隔从URL中截取并下载文件

时间:2016-01-22 15:12:19

标签: php download set bigdata

我已经构建了一个刮刀来从其他网站获取一些数据。刮刀当前在屏幕上的命令行运行,因此该过程永远不会停止。在每个请求之间,我设置了一个间隔以保持平静。在一次刮擦中,可能会有100个文件,需要下载。此过程在每次下载后都有一个间隔。

现在我想在后端添加功能以便即时抓取。一切正常,我得到第一个只有2个请求的数据集。在这个返回的数据中我有一个需要下载文件的数组(可以是10可以是+100)..我想创建一些用户可以实时看到下载过程的内容。

我面临的问题是,当刮刀在浏览器窗口中有2个工作要做时,下载次数高达+20次,包括间隔时间让事情发生变化,这需要花费太多时间。我正在考虑将需要下载的文件保存到数据库表中,并通过另一个shell脚本(屏幕)或cronjob处理这部分数据进程。

我想知道我的想法是否有好的方法,过度使用或有更好的例子来处理这些过程。

感谢您的任何建议。

P.S。我正在用PHP开发

2 个答案:

答案 0 :(得分:0)

如果您认为这样做太过分了,您可以运行脚本并等待该任务完成后再运行。

答案 1 :(得分:0)

基本上你需要实现message queue,其中http请求处理程序(前端控制器?)发出消息来获取页面,并且一个或多个工作人员完成这项工作,可选择向队列发送更多消息以下载文件

有许多MQ代理,但您可以将自己的数据库实现为队列存储。