【问题标题】:how to deal with timeout in ROR project如何处理 ROR 项目中的超时
【发布时间】:2013-04-18 07:24:47
【问题描述】:

我正在为一个使用 ruby​​ on rails 的项目工作。有一页包含项目列表,您可以选择其中多个并一次更改其信息。但是当数据太大并且您一次选择太多项目来处理时。它会运行几分钟,然后页面会显示错误消息,这是由服务器超时引起的...如何让它运行十分钟但不超时并返回错误消息?

【问题讨论】:

  • 在后台处理长任务

标签: ruby-on-rails ruby timeout


【解决方案1】:

没有一种方法可以做到这一点。

首先,你可以在你的日志中查看是否有长的sql查询,如果你看到一些很长的,你可以尝试优化它们。

您还可以使用 rails-footnotes 之类的 gem 在开发环境中查看每个页面底部的 sql 查询。

如果您正在执行一些昂贵的任务,请尝试使用 resque 或 delay_jobs 等工具在后台处理它们。

【讨论】:

    【解决方案2】:

    最好的用户友好解决方案是使用一些后台任务...

    比如delayed_job,例如:

    def my_action
      do_some_stuff
    end
    handle_asynchronously :my_action, :priority => 1
    

    然后,您的操作将异步完成,您的服务器将继续正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-04
      • 1970-01-01
      • 2018-06-16
      • 1970-01-01
      • 2018-02-22
      • 1970-01-01
      • 2019-12-07
      • 1970-01-01
      相关资源
      最近更新 更多