3

我正在为 PHP 电子商务系统制作模块。这个系统数据库有2000个产品。我需要在一天内更新所有产品(一些值)。我不想一次更新所有产品。

当访问者打开某个页面时,我尝试每隔一段时间更新 100 个产品(模块被 init - header 挂钩)。在这里我想给出时间限制。如果这 100 个产品在 20 秒内没有更新,请中断并将最后更新的产品 ID 写入数据库。

我怎样才能做到这一点?这个函数怎么知道20秒后中断?

4

1 回答 1

2

您可以为整个 PHP 脚本设置时间限制。因此,您可以将此功能移出到单独的脚本中,在那里设置时间限制并将其作为子进程运行。

我推荐使用 Symfony Process 组件(可以在没有 Symfony 的情况下使用):
http ://symfony.com/doc/current/components/process.html

使用它,您甚至可以从主进程设置时间限制:http:
//symfony.com/doc/current/components/process.html#process-timeout

于 2016-05-28T08:33:37.667 回答