当PHP需要一段时间处理时,nginx会抛出504错误

时间:2011-11-17 14:52:11

标签: php timeout nginx memcached screen-scraping

我正在建立一个货币系统(不是一个简单的货币系统,只是一个简单的货币系统),用户可以将货币兑换成另一个货币系统,这不是一个大项目,只是一个人少的项目。但是,我正在使用PHP来刮取Google货币计算器,该计算器每天擦除一次并将其存储到memcached中,当项目在memcached中到期时,它将重新刮取以获取更新的货币值。

当抓取谷歌时出现此问题(目前获得24种货币并为每种货币获得24种货币,因此脚本会刮掉48个不同的页面,当这种情况正在运行时,由于脚本运行约200秒,我经常会获得504网关超时。< / p>

由于引发了错误,我不确定在脚本抓取时是否可以通过PHP临时增加nginx超时,然后在完成后恢复。

我正在考虑通过cron job来做这件事,这会更好地解决问题而不是在用户访问网站时这样做吗?

1 个答案:

答案 0 :(得分:5)

你应该使用一个cron作业......应该不惜一切代价避免任何可能导致浏览器超时的事情。

只需2美分..