如何为此资产检索代码添加超时?

时间:2014-03-12 23:58:55

标签: ruby-on-rails cloud storage

我的产品目录链接到位于我的托管公司的云存储设备上的图像和其他数字资产。它通常很快就能运作。然而,它偶尔也不可靠。

当它不可靠时,我使用atmos-ruby gem来检索Web服务器上的文件块。它会导致应用程序崩溃。这是一个示例行:

ea = EsuRestApi.new(ATMOS_URL, 80, FULL_ACCESS_UID, FULL_ACCESS_SECRET)
ea.get_shareable_url(thumbbucket + url,expires)

如果网络在应用服务器和云存储之间断开,这只会让一切都瘫痪。

在尝试几秒钟后,有什么方法可以让它失败吗?我希望能够在这些定期问题中幸存下来。

注意:这个gem没有任何地方超时的概念。

1 个答案:

答案 0 :(得分:0)

我发现Ruby 1.9.3中有一个Timeout模块,它恰好是我为此应用程序使用的版本。它允许您在调用指定的超时时包装块。