查了官方文檔和社區(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ù)的返回?。?