2013-11-15 42 views
0

我有一個接觸的形式,其通過CURL請求發送非敏感數據(姓名,消息,幾個複選框和地址字段)到外部CRM系統。存儲CURL請求時接收服務器是向下

的問題是,有時接收系統正在維護中,我有存儲傳入的請求某處暫時的。現在,當我收到傳入維護消息時,我正在手動執行此操作,但從長遠來看,這不是一個選項。

我的問題是,什麼是應該做的自動化存儲和發送取決於服務器狀態的最佳方法。我知道它應該依賴於CURL響應代碼,並且如果它返回代碼200,那麼腳本應該檢查任何臨時存儲的請求是否與當前的請求一起發送,但我不確定實現此目的的最佳方式是什麼 - 例如,我想知道數據庫表中的序列化請求是否比製作JSON數組並將其存儲在稍後刪除的文件中更好。

你會如何解決這個問題?歡迎您提供任何建議和提示。

謝謝。

回答

0

我會執行以下步驟以確保HTTP請求被成功發送到目標服務器:

  1. 確保服務器啓動並運行,您可能需要使用get_headrs執行此檢查。
  2. 根據來自之前的步驟服務器的響應將執行拖操作之一:

    1)如果服務器響應爲OK,然後去頭和消防您的要求。

    2)如果服務器響應不是OK,那麼你可能要存儲在數據庫中的一些序列化形式的HTTP請求。

  3. 運行一個cronjob是讀取數據庫中的所有請求,並解僱他們,在服務器的響應,如果請求下了臺,然後刪除數據庫表中的記錄。

在cronjob運行的情況下,我會使用HttpRequestPool並行運行所有請求。

我會建議使用數據庫存儲而不是JSON文件存儲,因爲在服務器成功處理一些HTTP請求的情況下,特別需要維護一些HTTP請求,在這種情況下,您希望去除成功的並保留其他成員,這更加容易使用數據庫。

相關問題