我有一個用PHP編寫的網絡應用程序,我使用Symfony2作爲核心框架。如何有效運行同時發生的網絡請求?
我需要每隔10分鐘左右定期運行數千個小型網絡請求,並且我試圖找到異步運行這些作業的最佳解決方案,而不會發生衝突或加倍。
目前我有一個非常基本和不雅的解決方案,其中一個cron作業執行一個PHP命令腳本。該命令同步處理數據庫中的每個條目併發送網絡請求。當該請求完成(或失敗)時,它將轉到下一個請求。當它迭代了所有條目時,它就存在了,要從cron作業中再次執行。
對於重寫,我已將php-resque和pcntl_fork看作並行運行作業的解決方案,從而顯着加快執行速度。我也研究過從PHP運行多個非阻塞套接字請求,但到目前爲止,更喜歡簡單的隔離作業。
發現這篇有用的文章:http://stackoverflow.com/a/14201579/147731 – Ryall