0

我对正在开发的应用程序有一个想法,我需要知道这是否可行。

我有一个使用 eBay API 搜索项目的脚本。它将一直从 eBay 请求信息,直到返回符合条件的项目或运行 240 秒,在这种情况下,它会将 false 发送回客户端,然后自行重新启动。发回的数据将通过 websocket 完成。

我需要同时运行大约 100 个该脚本的实例。

我将使用一个 PHP for 循环启动它们,使用 cURL 和curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1);.

我不确定 PHP 如何在服务器上执行。它会在启动下一个脚本之前等待一个脚本实例完成执行吗?还是会一次启动该脚本的所有 100 个实例?

4

2 回答 2

3

这取决于 .. 如果您从 shell 脚本启动它们,例如:

./run.sh

其中包含 PHP 的单次执行,它将在执行时阻塞,并且在 PHP 进程完成之前不会返回。

但是,如果您运行与以下相同的脚本:

./run.sh &

它会立即返回......您可以通过以这种方式启动来运行许多 php 实例。

有无数种方法可以解决这个问题……您将遇到的问题是从先前的进程中获取数据-它们是写入失败还是数据库?他们如何让您知道该项目已找到或尚未找到?

于 2012-08-21T02:28:50.460 回答
2

它将一次运行它们。(只要它们不在 shell 脚本中并且同步运行,就是这样。)

于 2012-08-21T02:27:14.327 回答