rails API获取超时

时间:2015-10-05 15:15:33

标签: ruby-on-rails ruby api timeout

我的rails API没有使用ActiveResource::Base类用于模型。问题是我的API调用了另一个用于将数据存储到oracle DB的rails应用程序。这个过程需要更长的时间,因此我的API会超时,但是另一个rails应用程序上的进程仍然处于亏损状态。我无法使用self.timeout ActiveResource::Base方法扩展API的时间限制。任何人都可以建议如何解决这个问题?

修改

class MyResources::MyModel
  include MyResource
  include ActiveModel::Serialization

  attribute :id
  attribute :name
end

这是我的模特。我不是继承自ActiveResource::Base。 MyResouce是我的自定义库。

1 个答案:

答案 0 :(得分:0)

您有几个选择:

  1. 将工作卸载到后台进程。如果您的应用在提供请求时进行大量处理,您可能希望将该工作传递给不会阻止请求本身的进程。例如,尝试Sidekiq
  2. 设置对其他rails应用的调用超时。大多数http库都支持此功能。