我正在編寫一些處理項目隊列的代碼。它的工作方式是這樣的:如何打開多個套接字連接並在PHP中執行回調
- 獲得下一個項目標記爲需要 從MySQL的 數據庫行處理。
- 使用Curl從google API 請求一些信息,等到信息返回時返回 。
- 根據返回的信息執行處理 的其餘部分。
- 將項目標記爲在 db中處理,移至下一項。
問題是,在第2步。谷歌有時需要10-15秒才能返回請求的信息,在此期間我的腳本必須保持停止並等待。
我想知道如果我可以改變代碼來執行,而不是執行以下操作:
- 得到下一個5個項目要處理 如常。
- 索取信息從 項目1-5的谷歌,一個接一個。
- 當第1項的信息是 回來了,一個「回調」應該是 做它調用一個函數或 否則調用一些代碼,然後 做處理 對項目1-5的剩餘部分。
- 然後腳本從 開始,直到db中的所有待處理項目都標記爲 已處理。
怎麼能這樣做呢?