我正在构建一个 cron 作业,它执行以下操作:
1. 从 DB
2 中获取记录。对于每条记录,都会向 API 发出一个 curl 请求。(有些请求很快,有些正在上传大图像或视频)。
3、如果一个请求不成功,新建一个参数稍有不同的请求(还是根据记录),重新发送。这可能会发生多次。
4. 请求成功后,执行一些数据库选择/插入(基于导致发送此请求的原始记录)。
发送请求应该并行发生,因为有些需要几分钟(大量上传),有些非常快。
这样做最合适 - 拥有一个从数据库获取记录并为每个记录创建一个进程来处理调用 API 和解析响应的主脚本?或者使用 curl_multi 从同一个脚本同时发送多个请求并在返回时解析每个请求?
如果使用多个进程,那么最好的方法是什么 - PCNTRL、popen 等?
如果使用 curl_multi 我怎么知道哪个数据库记录对应哪个返回请求?
编辑:如果使用 curl multi 我可能会采用这种技术:http
://www.onlineaspect.com/2009/01/26/how-to-use-curl_multi-without-blocking/
这样它就不会等待在我开始处理响应之前完成的所有请求。
谢谢!