后台 运行 任务
下载spawn
放在vendor/plugins 目录下
在config/environment.rb中配置:
很开心的是 该程序不会sleep 11 而是执行到这步时候 render :action=>"test" 直接跳转
跳转后你会发现 在console中 过一会才会出现 i 连续 12次
所以run background task就已经完成了!
下载spawn
放在vendor/plugins 目录下
在config/environment.rb中配置:
config.active_record.allow_concurrency=true
def test
spawn do
sleep 11
12.times {
puts "i"
}
end
render :action=>"test"
end很开心的是 该程序不会sleep 11 而是执行到这步时候 render :action=>"test" 直接跳转
跳转后你会发现 在console中 过一会才会出现 i 连续 12次
所以run background task就已经完成了!
本文介绍了一个Rails应用中实现后台任务的方法。通过配置ActiveRecord并发支持并利用spawn进行任务调度,可以实现在不影响用户体验的情况下执行耗时操作。文章通过一个简单的例子展示了如何创建后台任务,并观察到任务能在用户界面响应完成后继续执行。
787

被折叠的 条评论
为什么被折叠?



