我正在使用
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