我对我正在处理的应用程序有一个想法,我需要知道这是否可行。
我有一个使用eBay API搜索项目的脚本。它将继续从eBay请求信息,直到返回符合条件的项目或运行240秒,在这种情况下,它会将错误发送回客户端,然后重新启动。发回的数据将通过websocket完成。
我需要同时运行此脚本的大约100个实例。
我将使用带有curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1);
的cURL在一个PHP for循环中启动它们。
我不确定如何在服务器上执行PHP。在启动下一个脚本之前,它是否会等待脚本的一个实例完成执行?或者它会一次启动该脚本的所有100个实例吗?
答案 0 :(得分:3)
这取决于..如果你从shell脚本启动它们,例如:
./run.sh
其中包含一次PHP执行,它将在执行时阻止,并且在PHP过程完成之前不会返回。
但是,如果您运行相同的脚本:
./run.sh &
它将立即返回...您可以通过以这种方式触发来运行许多php实例。
有很多方法可以解决这个问题......你将遇到的问题是从先前的进程获取数据 - 他们是写入失败还是数据库?他们如何让您知道该项目是否已找到?
答案 1 :(得分:2)
它将立即运行它们。 (只要它们不在shell脚本中并且同步运行,那就是。)