在PHP中安排大量任务的最佳方法

时间:2017-04-07 20:44:20

标签: php json api curl

我目前正在使用Laravel(PHP)构建API,以便从不同的主机中检索价格。目前有756种不同的“硬币”与不同的主机来检索价格。

例如:Coin X

主持人1 主持人2 主持人3 - 最多30台主机

Coin Y

主持人1 主持人4 主机5 - 最多30台主机 等

这里的问题是,理想情况下每个硬币应每10秒更新一次。这意味着每个硬币需要调用其所有主机,计算平均价格,保存数据库中的价格,最后保存带有硬币总历史的JSON文件。 (也许最好还将当前价格保存为JSON以节省一些时间)

我试图将所有这些放在每个主机的类中,但是执行时间太长(使用CURL大约需要5分钟)。

我正在考虑为每枚硬币创建一个任务(cron作业)。这样,硬币的“更新”可以同步(多个硬币一次)。但我不确定这是最好的方式。

你们会推荐什么方法?欢迎所有提示。

1 个答案:

答案 0 :(得分:0)

您的整体更新时间将受到硬币数量x个别主机更新速度的限制。您可能希望计算一个(或平均)请求需要多长时间(使用脚本)来查看整个过程需要多长时间。因为,如果它可能需要太长时间,一个接一个地执行它们,您将不得不将其设置为并行(同时)请求。