处理Web服务器上长时间运行任务的最佳方法

时间:2017-03-30 11:09:34

标签: php python mysql web

在过去的几天里,我一直在谷歌搜索我应该如何处理Web服务器上的长时间运行任务。我已经找到了很多关于如何用特定语言运行它们的好答案,但没有找到适合这种工作的语言。

所以,我有一个运行某种自定义电子商务平台的网络服务器。还有另一个服务器,其中一些产品dostributor通过API提供对其数据的访问。我必须跨这两个服务器同步产品列表。产品基数相当大(约100000种产品)。

我的想法是编写php脚本,从各种API端点收集数据并相应地更新数据库。但它需要很长时间,因此如果没有硬性修改和深入潜水到PHP本身就会超时。

现在我想,也许我应该编写通过API端点的python脚本并收集有关每个产品的数据。收集产品数据后,python脚本可以启动php脚本,可以更新数据库中有关该特定产品的数据。

你有什么困难?处理它的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

这听起来像是你可以在Cron的服务器端更好,而不是从浏览器。当然,除非您需要由没有终端访问权限的人随机手动执行此操作。

如果它必须是PHP,你可以使用cron或终端运行它并禁用超时(参见:http://php.net/manual/en/function.set-time-limit.php),如果需要,甚至将它作为后台进程保留&amp ;.这样,您就不会受到Apache(或您使用的任何服务器)时间限制的限制。