gpt4 book ai didi

ruby-on-rails - ActiveRecord ConnectionPool - 异常处理?

转载 作者:数据小太阳 更新时间:2023-10-29 08:04:45 25 4
gpt4 key购买 nike

我正在使用 ConnectionPool check out /检入数据库连接。

因此,如果没有异常,一切都会按预期进行。最后 checkin 连接。

但是,如果包含 with_connection 的代码块中出现异常怎么办?

AR 连接是否仍会自动 checkin 池中?

ActiveRecord::Base.connection_pool.with_connection do
m = SomeModel.find(something)
m.foo = "bar"
m.save!
etc

#EXCEPTION RAISED HERE
# WHAT HAPPENS?

end

最佳答案

应该没问题,来自source code使用 ensure block 在最后释放连接。

def with_connection
...
ensure
release_connection(connection_id) if fresh_connection
end

关于ruby-on-rails - ActiveRecord ConnectionPool - 异常处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16727279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com