ruby-on-rails – 如何在Rails 3.1中渲染后执行一些任务

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何在Rails 3.1中渲染后执行一些任务前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 Impressionist记录页面曝光.数据库写入只需要大约50ms,但我真的更喜欢在页面呈现并发送到客户端之后执行此操作.

我已经研究了通过Spawn进行分组,但它建立了一个新的数据库连接,似乎是这样一个小工作的过度.延迟工作和其他后台处理库似乎是重大的过度杀戮.写数据库只是为了推迟写入数据库…不是一个胜利.

我希望我可以:

def show
  render
  impressionist(@article)
end

…并且印象主义者使用相同的数据库连接和与动作相同的所有相同的请求数据,只是在该操作已经返回到客户端之后.但是,这不是渲染方法的工作原理.

任何解决方案?在Heroku Cedar上运行Rails 3.1和Ruby 1.9.2.

解决方法

产生一个新线程. Heroku将允许您每个dyno最多15个线程.
def show
  render
  Thread.new do
    impressionist(@article)
  end
end

猜你在找的Ruby相关文章