国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

如何使用多進程并行組合處理一個業(yè)務(wù)?

xiaopi

查了官方文檔和社區(qū)的討論,一直沒搞清楚的如何獲取異步任務(wù)的返回值。我現(xiàn)在使用webman提供一個http接口,該功能需要實現(xiàn)以下:

去ES的A索引中查詢數(shù)據(jù)
去數(shù)據(jù)庫中查詢
去ES的B索引中查詢數(shù)據(jù)

以上三步IO沒有次序,我想可以用多進程的思路來提高并發(fā)量。
如果是在其他php-cli環(huán)境下,我可以fork三個子進程,然后阻塞父進程等待三個子進程的返回,得到三個子進程的返回后,父進程統(tǒng)一組裝數(shù)據(jù)響應(yīng)給調(diào)用方。
但是在webman中如何實現(xiàn)呢?
我看文檔中有說明可以創(chuàng)建帶監(jiān)聽的task進程,然后控制器中使用異步TCP客戶端的方式去投遞任務(wù),然后在異步TCP客戶端的回調(diào)中獲取返回結(jié)果,但是這種情況下我在控制器這個主進程怎么阻塞等待三個任務(wù)的返回?。?

1496 1 1
1個回答

walkor 打賞

可以將這三個步驟封裝成http接口,然后用guzzle并發(fā)請求它們,類似微服務(wù)調(diào)用。

  • xiaopi 2023-04-18

    好的,謝謝哈。那就是在http請求中實際上不太容易做異步。我看社區(qū)中說webman不能使用wokerman/http-client異步包,我實際測試中發(fā)現(xiàn)webman可以使用,但是異步效果似乎不適合在控制器中寫,更適合用于websocket這種主動推送的,我試試使用yzh52521/easyhttp 這個包并發(fā)請求

年代過于久遠,無法發(fā)表回答
??