我正在寻找一种在页面呈现给用户之后运行一些慢代码的方法。具体来说,我希望能够做这样的事情:
get '/fast-action' do
compute_after_render { put some slow code here }
'request successful'
end
我考虑将有关计算的信息插入数据库。然后运行类似 rufus 调度程序的东西,它会检查是否每分钟计算一次。
但我不希望用户等待数据库完成插入。
在页面呈现给用户之后,有什么方法可以让 Sinatra 运行一些代码?