簡體   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