0

我有一些 php 代码,可以执行很长时间。

我需要实现下一个方案:

  1. 用户在某个页面上输入(第 1 页)
  2. 此页面开始在后台执行我的大型 PHP 脚本。(每次更改都写入数据库)
  3. 我们每 N 秒向数据库发送一次查询以获取当前执行状态。

我不想使用 exec 命令,因为 1000 个用户会产生 1000 个 php 进程。这对我来说不是办法...

4

3 回答 3

1

在脚本中结合 phpsignore_client_abort()函数使用对本地 http 服务器的 http 请求。

这样,您可以将负载保持在 http 服务器工作进程内,具有自然限制,并且请求排队是免费的。

于 2012-12-03T17:05:11.923 回答
1

所以你基本上想要一个队列(可能存储在数据库中)和一个由 cron 运行的命令行脚本来处理排队的项目。

澄清:我不确定我的回答有什么不清楚的地方,但这符合问题提出的两个要求:

  1. 客户端不能中止脚本
  2. 您在 1,000 个客户之间共享一个进程
于 2012-12-03T17:07:23.003 回答
0

您可以使用CLI执行多个 PHP 脚本

或者

您可以尝试在 PHP 中轻松并行处理

于 2012-12-03T17:11:07.163 回答