我正在调试通过Twilio REST API发送SMS消息的应用程序。前几天我们有一个奇怪的错误,我们无法重现,我认为它可能已经发生,因为Twilio API需要很长时间才能响应(2-3秒)并且应用程序没有很好地处理延迟。 / p>
我们正在努力改进应用程序以更好地处理这样的情况,但我不确定如何测试我们是否真的解决了这个问题。 有没有办法迫使Twilio慢慢回应,以便对此进行测试?
我意识到我可以长时间制作自己的模拟Web服务并将其替换为Twilio - 但我想尽可能避免这种情况。特别是,我正在使用Twilio帮助程序库中的一个用于所有调用,并且如果可能的话,我们希望避免使用它们进行猴子修补。
答案 0 :(得分: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。
希望它有所帮助, 凯文
答案 1 :(得分:0)
Twilio传道者在这里。
目前没有办法告诉Twilio模拟慢速HTTP响应或HTTP响应超时。
根据您的平台,可能有一种方法可以捕获网络超时,这听起来像您怀疑导致了问题。
希望有所帮助。