gpt4 book ai didi

ruby Rack : startup and teardown operations (Tokyo Cabinet connection)

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

我在 Rack 上的 Sinatra 中构建了一个非常简单的 REST 服务。它由 3 个 Tokyo Cabinet/Table 数据存储支持,这些数据存储具有需要打开和关闭的连接。我有两个直接用 Ruby 编写的模型类,它们目前只是连接、获取或放置它们需要的东西,然后断开连接。显然,这不会长期有效。

我也有一些像 Warden 这样依赖于这些模型类的 Rack 中间件。

管理打开和关闭连接的最佳方法是什么?据我所知,Rack 不提供启动/关闭 Hook 。我考虑过在 env 中插入一个提供对 TC/TT 对象的引用的中间件,但是我必须通过 Sinatra 将其通过管道传输到模型,这似乎也不是很有效;并且那只会获得与 TC 的按请求连接。我认为每服务器实例生命周期会是更合适的生命周期。

谢谢!

最佳答案

您是否考虑过使用 Sinatra 的 configure block 来设置您的连接?

configure do
Connection.initialize_for_development
end

configure :production do
Connection.initialize_for_production
end

在将 DataMapper 与 Sinatra 一起使用时,这是一个非常常见的习惯用法

http://www.sinatrarb.com/intro 查看“配置”部分

关于 ruby Rack : startup and teardown operations (Tokyo Cabinet connection),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2582822/

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