嗨,我正在使用HTTPClient gem,我有一个问题;我用它来进行
用户注册.虽然运行
用户名和密码插入到我的
数据库,但它等待很长时间并返回给我
- HTTP Client::ReceiveTimeout Error in User Controller#signup execution expired.
我该如何解决我的问题?
我猜您的http连接或远程连接不稳定.
每当我遇到这种情况时,我会使用超时并重试几次.
以下
代码将执行您的
代码10秒,如果没有完成,它将超时并重试.如果多次重试失败,它最终会失败.
- def timeout_and_retry
- retries = 0
- begin
- Timeout::timeout(10) { yield }
- rescue Timeout::Error
- raise if (self.retries += 1) > 3
- retry
- end
- end
-
- timeout_and_retry do
- # http client get code goes here
- end