我想运行一个 php 脚本,该脚本在用户指定的时间内从其他站点(类似于爬虫)收集数据。前任。如果用户选择爬取 5 分钟,即使用户离开页面,php 也会启动并运行 5 分钟。然后他回来,可以看到结果。
问问题
855 次
2 回答
2
ignore_user_abort — 设置客户端断开连接是否应该中止脚本执行
http://php.net/manual/en/function.ignore-user-abort.php
还有更多的事情需要考虑,比如脚本执行超时。一种更“企业化”的方法是将工作卸载到作业或消息队列中。
于 2012-11-05T20:59:57.597 回答
0
我认为您应该查看 crontab /cronjob (如果您使用 linux 网络服务器)。
然后,您可以创建一个关于应该抓取什么以及为谁抓取的数据库。
如果您没有登录系统,您应该将抓取结果链接到来自用户浏览器的会话或 cookie。
创建脚本和数据库后,您可以使用 SSH/Telnet 中的以下命令使收集数据的 php 脚本每分钟运行一次:
* * * * * php /path/to/script.php
如果您无法访问 SSH/Telnet shell,大多数控制面板都有 crontab 功能。
于 2012-11-05T22:43:05.267 回答