我正在为一个php电子商务系统制作模块。这个系统数据库有2000种产品。我需要在一天内更新所有产品(一些价值观)。我不想一次更新所有的产品。
当访问者打开某个页面(模块被钩住了init-header)时,我尝试更新每个时段的100个产品。在这里我想给出时间限制。如果这100个产品在20秒内没有更新,请中断并将上次更新的产品ID写入数据库。
我该怎么做?这个功能怎么知道20秒后就坏了?

最佳答案

您可以为整个php脚本设置时间限制。因此,您可以将此函数移出以分离脚本,在其中设置时间限制并将其作为子进程运行。
我建议使用symfony流程组件(可以不使用symfony):
http://symfony.com/doc/current/components/process.html
使用它,您甚至可以从主进程设置时间限制:
http://symfony.com/doc/current/components/process.html#process-timeout

07-28 02:48