2014-01-24 64 views
0

我正在調試通過Twilio REST API發送SMS消息的應用程序。有一天,我們有一個奇怪的錯誤,我們無法複製,我認爲它可能發生,因爲Twilio API花了很長時間來響應(2-3秒),應用程序沒有很好地處理延遲。Force Twilio爲了測試應用程序的處理而緩慢響應請求

我們正在努力改進應用程序以更好地處理這種情況,但我不確定如何測試我們是否真的解決了問題。 有沒有辦法迫使Twilio緩慢響應,爲了測試這個?

我意識到我可以用很長的延遲製作自己的模擬Web服務,並替換爲Twilio - 但我想盡可能避免這種情況。特別是,我使用Twilio幫助程序庫中的一個來完成所有的調用,並且希望儘可能避免使用猴子修補它們。

回答

0

Twilio福音傳教士在這裏。

目前沒有辦法告訴Twilio模擬緩慢的HTTP響應或HTTP響應超時。

根據您的平臺,可能會有一種方法來捕捉網絡超時,這是您聽起來像懷疑導致問題的聲音。

希望有所幫助。

2

您可能想嘗試在測試中配置代理服務器,該代理服務器響應速度非常緩慢。這裏是我們在Nginx中使用的一個。注意它需要nginx-lua模塊。

location ~ /slow { 
    # Proxy pass is necessary so the incoming request is accepted and 
    # processed by nginx. 
    proxy_pass http://127.0.0.1:11418; 
} 

server { 
    listen 127.0.0.1:11418; 

    location ~/{ 
     # return a funny HTTP code here, so it's clear that the slow block got 
     # hit. 
     add_header 'X-Served-By: slow-as-heck'; 
     content_by_lua 'ngx.sleep(25); ngx.exit(418)'; 
    } 
} 

你也可以嘗試連接一個不會發回TCP重置的死IP,如10.255.255.1。

希望它有幫助, Kevin