繁体   English   中英

Laravel:使用 HttpClient 的多个作业的解决方案?

[英]Laravel: Solution for multiple jobs using HttpClient?

我有一堆 laravel 连接到外部 API 的工作,获取一些数据并处理数据。 因为它是非常不同的数据,所以我将它分成多个作业(GET_DATA_A,GET_DATA_B,...)

但是每个作业都会创建一个新的 HttpClient (Guzzle) 和一个到 API 的新连接,这使得 API 非常慢。

是否有针对所有作业使用一个 HttpClient(保持活动状态)的解决方案?

最好的祝福

这是可能实现的,因为队列工作者是一个长时间运行的进程。

只要您对队列工作者的设置不会导致它提前退出(例如,最大作业数较低或最大时间较低),它应该是可能的。

您需要使用 singleton 模式来重用 guzzle 客户端。 然后您可以在您的作业中重复使用同一个客户端。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM