我正在研究一个应用程序,该应用程序主要使用PHP编写的利用亚马逊的MWS API。这个应用程序允许亚马逊卖家注册,提供一些亚马逊卖家的凭证,然后应用程序开始从亚马逊下载这个用户的订单,将它们放入MySQL数据库。什么是在PHP中运行异步函数的最有效方法?
我已经构建了使用具有多个函数的脚本将数据准确地同步到数据库的方法,但注意到这需要太长时间。该脚本简单循环遍历数据库中的所有用户,并一次迭代所有订单。目前,只有5个测试用户,时间是可行的,但我正在寻找一种更可扩展的方法。想想每次同步运行的500个用户。太久了!
我对PHP很陌生,特别是从它运行异步过程。我发现我可以做到这一点的唯一方法是拥有一个初始脚本,用于查找数据库中的所有用户,并为每个用户生成一个同步脚本,然后释放它。我不喜欢这个想法,因为如果我确实有500多个用户,我每晚同步将包含500个衍生的PHP脚本实例。
以前有没有人做过类似的事情?如果是这样,我很想听听如何更好地使此同步更有效。
我从来没有听说过HTTPRequestPool类,谢谢!但是,从这我可以弄清楚如何让它发送异步HTTP请求,但我也需要处理我分别从这些检索到的每个结果。这可以做到吗? –
我相信如此。你有阅读文档吗?特别是检查“getFinishedRequests”方法 - http://www.php.net/manual/en/function.httprequestpool-getfinishedrequests.php – rICh