Ruby on rails railsapi超时

Ruby on rails railsapi超时,ruby-on-rails,ruby,api,timeout,Ruby On Rails,Ruby,Api,Timeout,我有一个rails API,它没有为模型使用ActiveResource::Base类。问题是我的API调用了另一个rails应用程序来将数据存储到oracle DB。这个过程需要更长的时间,因此我的API会超时,但另一个rails应用程序上的进程仍然在运行。我不能使用ActiveResource::Base的self.timeout方法来扩展API的时间限制。有人能建议如何解决这个问题吗 编辑 这是我的模型。我不是从ActiveResource::Base继承的。MyResource是我的自定

我有一个rails API,它没有为模型使用
ActiveResource::Base
类。问题是我的API调用了另一个rails应用程序来将数据存储到oracle DB。这个过程需要更长的时间,因此我的API会超时,但另一个rails应用程序上的进程仍然在运行。我不能使用
ActiveResource::Base
self.timeout
方法来扩展API的时间限制。有人能建议如何解决这个问题吗

编辑


这是我的模型。我不是从
ActiveResource::Base
继承的。MyResource是我的自定义库。

您有两个选项:

  • 将工作卸载到后台进程。如果您的应用程序在处理请求时处理量很大,您可能希望将该工作传递给一个不会阻止请求本身的进程。例如,试试看
  • 设置调用其他rails应用程序的超时时间。大多数http库都支持这一点

  • 您有两个选择:

  • 将工作卸载到后台进程。如果您的应用程序在处理请求时处理量很大,您可能希望将该工作传递给一个不会阻止请求本身的进程。例如,试试看
  • 设置调用其他rails应用程序的超时时间。大多数http库都支持这一点

  • 因为我没有使用
    ActiveResource::Base
    ,所以我没有方法
    timeout
    。如果您能命名具有相同功能的其他库,那就太好了。请用我的模型示例编辑此问题。卸载的第一个选项不起作用,因为我们在完成过程后无法获得成功状态(HTTP状态代码,即200)。因为我没有使用
    ActiveResource::Base
    ,所以我没有方法
    timeout
    。如果您能命名具有相同功能的其他库,那就太好了。请用我的模型示例编辑此问题。卸载的第一个选项不起作用,因为我们无法在完成过程后获得成功状态(HTTP状态代码,即200)。
    class MyResources::MyModel
      include MyResource
      include ActiveModel::Serialization
    
      attribute :id
      attribute :name
    end