我有一個調用一個PHP腳本,可以與我們的CRM的API進行交互,像這樣一個註冊表格:終止與jQuery AJAX請求的連接,繼續在服務器端處理php?
CRM API < - > PHP腳本< - >註冊表格
- 的註冊表格通過在一個 AJAX調用
- PHP腳本的一些信息到PHP腳本運行十幾個API調用到CRM創建 一個帳戶,並連接各種數據
- 的CRM返回新的帳戶ID,它只是創造d到PHP腳本
- PHP腳本將帳戶ID傳遞迴註冊表單,此時AJAX調用已完成,並且註冊表單可以繼續。
的問題是#2,那些十幾個電話約需20秒才能完成,但因此它在理論上可以更快返回數據,並完成其餘的註冊表格所需要的數據是第一API調用後產生的東西服務器端沒有拿着AJAX調用打開整個時間。
我試過flush()和ob_flush(),它在處理完成之前向客戶端輸出帳戶ID,但jQuery AJAX連接保持打開狀態,所以我仍然堅持等待連接在註冊表單上關閉在發生任何事情之前。
那麼,儘可能快地將該帳戶ID返回到表單最簡單的路線是什麼?
使用curl和exec可能爆發嗎?
if(signing up){
stuff
exec(curl myself, notsignup)
}
else {
bunch of api calls
}
我結束了去捲曲路由,因爲它更快,並得到它的工作現在。不過,我認爲隊列和cronjob來處理它們是最好的長期解決方案。 Curl給我買了一些時間,所以我會盡快實現你的答案。感謝Richard! – xref 2012-07-23 16:30:15
我的快樂.... – RichardW11 2012-08-03 12:33:28