我正在为 PHP 电子商务系统制作模块。这个系统数据库有2000个产品。我需要在一天内更新所有产品(一些值)。我不想一次更新所有产品。
当访问者打开某个页面时,我尝试每隔一段时间更新 100 个产品(模块被 init - header 挂钩)。在这里我想给出时间限制。如果这 100 个产品在 20 秒内没有更新,请中断并将最后更新的产品 ID 写入数据库。
我怎样才能做到这一点?这个函数怎么知道20秒后中断?
我正在为 PHP 电子商务系统制作模块。这个系统数据库有2000个产品。我需要在一天内更新所有产品(一些值)。我不想一次更新所有产品。
当访问者打开某个页面时,我尝试每隔一段时间更新 100 个产品(模块被 init - header 挂钩)。在这里我想给出时间限制。如果这 100 个产品在 20 秒内没有更新,请中断并将最后更新的产品 ID 写入数据库。
我怎样才能做到这一点?这个函数怎么知道20秒后中断?
您可以为整个 PHP 脚本设置时间限制。因此,您可以将此功能移出到单独的脚本中,在那里设置时间限制并将其作为子进程运行。
我推荐使用 Symfony Process 组件(可以在没有 Symfony 的情况下使用):
http ://symfony.com/doc/current/components/process.html
使用它,您甚至可以从主进程设置时间限制:http:
//symfony.com/doc/current/components/process.html#process-timeout