2013-01-02 22 views
0

我正在尋找一些關於其他開發人員如何完成相同任務的建議。基本上我試圖做的是循環我的數據庫中的行以連接到多個FTP帳戶,preg_match,然後輸出相互獨立的文件。下面是工作流的一個示例:關於使用php通過多個FTP連接循環的建議

pull connection 1 
login to FTP 
check preg_match against all files listed 
list matching files 
disconnect 
... 
pull connection 2 
login to FTP 
check preg_match against all files listed 
list matching files 
disconnect 
... 
repeat 

最終的結果將是我創建表的結果彼此分離。

回答

1

我認爲這裏最大的挑戰將是延遲時間。我會尋找一種解決方案,它不會試圖實時完成這一切,而有人正在等待網頁加載或其他輸出。如果可能的話,我會在遠程服務器上構建一些API,這樣我就不必執行原始的FTP請求,而是可以查詢在遠程服務器上確定的匹配結果。但是,如果需要,我會使用PHP的cURL工具獨立地連接到每個外部服務器,並使用它自己的cron驅動腳本,並將所有輸出存儲到中央數據庫中。然後可以根據本地數據庫查詢所需的最終輸出而不依賴於獲取/匹配。

+0

那麼它將連接到許多不同的客戶端,所以一個API不會是一個真正的選擇,因爲他們不能全部設置它。延遲時間不會成爲一個問題,但由於超時可能只會導致錯誤消息,這很好。 – user1913843

0

如果有很多FTP連接要做,並且性能是一個考慮因素,那麼你會希望並行連接而不是串行連接。爲此,產生執行工作的子進程,將其結果保存到數據庫中,而父進程在從數據庫獲取結果並輸出結果之前等待創建足夠的結果。