Ruby Rack:启动和拆卸操作(东京内阁连接)

2023-12-12

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

我还有一些 Rack 中间件,例如 Warden,它们依赖于这些模型类。

管理打开和关闭连接的最佳方法是什么?据我所知,机架不提供启动/关闭挂钩。我考虑过插入一个中间件来提供对 env 中 TC/TT 对象的引用,但随后我必须通过 Sinatra 将其传输到模型,这似乎也效率不高;这只会是一个到 TC 的每个请求的连接。我认为每个服务器实例的生命周期将是更合适的生命周期。

Thanks!


你有没有考虑过使用 Sinatra 的configure块来建立你的连接?

configure do
  Connection.initialize_for_development
end

configure :production do
  Connection.initialize_for_production
end

在使用 DataMapper 和 Sinatra 等工具时,这是一个非常常见的习惯用法

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ruby Rack:启动和拆卸操作(东京内阁连接) 的相关文章

  • 为什么这个 Ruby 方法返回“空值表达式”错误?

    我有这个简单的方法 def is palindrome sentence raise ArgumentError new expected string unless sentence is a String safe sentence s
  • 如何在 Ruby on Rails 中不使用 eval 将字符串转换为哈希值? [复制]

    这个问题在这里已经有答案了 这里是string需要转换成hash status gt label gt Status collection gt return misc definitions project status 我们不能使用ev
  • Mongoid - 同一外域的两个域的逆

    我试图让以下 Mongoid 关系发挥作用 但每个团队的游戏字段都是一个空数组 这不是一个有效的关系模型吗 我是否需要分开比赛 即主场比赛和客场比赛 class Team include Mongoid Document has many
  • 获取块参数个数

    我需要获取给定块所采用的参数数量 例如 foobar 1 2 3 a b c def foobar x y z block need to obtain number of arguments in block which would be
  • Rails 中的 PDF 导出

    我需要将包含一些图表的 HTML 页面导出为 PDF 有哪些好的 gem 可以做到这一点 PDFKit http railscasts com episodes 220 pdfkit http railscasts com episodes
  • 红宝石边缘情况

    ruby 有一些边缘情况很难解释 因为解析会带来一些有趣的问题 我在这里列出其中两个 如果您知道更多 请添加到列表中 def foo 5 end this one works if tmp foo puts tmp to s end How
  • 转储 YAML 时如何强制使用双引号?

    我有一个小脚本来自动化 YAML 文件中的一些操作 我读取原始 YAML 文件并将其转换为哈希 然后dump http ruby doc org stdlib 1 8 6 libdoc yaml rdoc YAML html method
  • 从 Ruby 中的 DateTime 变量获取时间

    我在 ruby 中工作 我有一个包含数据库中今天的日期时间的对象 我只想要时间截断数据 我怎样才能得到那个 Try 日期时间 strftime http www ruby doc org stdlib 1 9 3 libdoc date r
  • 在私有控制器方法中返回redirect_to

    前言 我正在使用设备进行身份验证 我试图阻止未经授权的用户查看 编辑或更新其他用户的信息 我最关心的是用户将 DOM 中的表单修改为另一个用户的 ID 填写表单 然后单击更新 我已经专门阅读过 像下面这样的东西应该有效 但事实并非如此 SO
  • Rails:CSRF 令牌不工作但已设置

    我在 Heroku 上有我的 Rails 3 应用程序 当我发送银行信息时 我得到 WARNING Can t verify CSRF token authenticity但我的 CSRF 令牌已设置 https gist github c
  • 如何向 Time.now 添加两周?

    如何在 Ruby 中向当前 Time now 添加两周 我有一个使用 DataMapper 的小型 Sinatra 项目 在保存之前 我有一个字段填充了当前时间加上两周 但未按需要工作 任何帮助是极大的赞赏 我收到以下错误 NoMethod
  • yard 0.7.3 无法在 Markdown 和 Textile 中构建我的自述文件

    我决定将我的项目中的 README 文件转换为 Markdown 并一直使用yard 验证文档是否正确呈现 所以我安装了 rdiscount 将 README 更改为 README md 并尝试 yard doc README md 这给了
  • ruby 中的 #encode 和 #force_encoding 有什么区别?

    我真的不明白之间的区别 encode and force encoding在 Ruby 中String班级 我明白那个 kam force encoding UTF 8 将迫使 kam 是UTF 8编码 但是怎么样 encode encod
  • “rmagick”gem 安装问题

    我在尝试在 centos 上安装 rmagick gem 时遇到问题 以下是我得到的输出 谁能帮我识别一下我缺少什么包裹 我已经安装了所有提到的另一个堆栈溢出线程 RMagick安装错误 https stackoverflow com qu
  • REXML - 如何提取单个元素

    我正在用 ruby 编写一些验收测试 其中涉及断言响应 XML 中值的存在 我的 XML 是这样的
  • Nokogiri 保持 HTML 实体不变

    我希望 Nokogiri 保持 HTML 实体不变 但它似乎正在将实体转换为实际的符号 例如 Nokogiri HTML fragment p reg p to s 结果是 p p 似乎没有什么可以将原始 HTML 返回给我 inner h
  • 在 ruby​​ 中下载多个 FTP 文件,如 d*.txt

    我需要连接到 ftp 站点并下载一堆名为 D txt 的文件 最多 6 个 你能帮我用 Ruby 编写这个代码吗 下面的代码只是 ftp Net FTP new ftp server site ftp login user pwd ftp
  • 带有 OAuth2 的 YouTube API v3:更新和删除失败并出现“权限不足”错误

    我在尝试着update and delete视频使用YouTube API v3 https developers google com youtube v3 docs videos with OAuth2 用于身份验证 https dev
  • 使用 R 下载压缩数据文件、提取和导入数据

    EZGraphs 在 Twitter 上写道 很多在线 csv 都被压缩了 有没有办法下载 解压缩存档并使用 R 将数据加载到 data frame Rstats 我今天也尝试这样做 但最终只是手动下载 zip 文件 我尝试过类似的东西 f
  • 正则表达式的 o 修饰符是什么意思?

    Ruby 正则表达式有一些选项 例如i x m o i例如 意味着忽略大小写 什么是o选项是什么意思 在ri Regexp 它说o意味着执行 仅插值一次 但是当我这样做时 a one b a a two b不改变 它保持 one 我缺少什么

随机推荐

  • C : 这个数组初始化合法吗?

    int ar 1 2 3 这段代码合法吗 我的本意是这样的 int ar 1 2 3 是的 C89 和 GNU89 中的初始化列表中都允许使用杂散逗号 在采用可选 可变参数的宏中非常有用 请参阅第 3 5 7 节ANSI C 标准对于定义它
  • 我什么时候需要重新编译 Jasper 报告

    我正在使用 JasperReporting 引擎 我需要优化报告性能 目前 我的应用程序每次都从 jrxml 文件编译报告 因为我现在不更改报告 并且应用程序无法生成用户定义的报告 我应该编译它们一次并在将来使用 jasper 文件 我对吗
  • 动态更改“模板”layout.updatemenus[] Dropdown

    我有一个 Python Dash 应用程序 它显示只有一个跟踪的 Plotly graph object timeline 我认为这个问题不应该取决于跟踪的数量 我想要一个layout updatemenus下拉按钮 它允许我更改图形的模板
  • 返回鼠标Tkinter下图像像素的RGB颜色

    我正在尝试从图像中鼠标单击的位置获取 RGB 值 我试图仅使用 Tkinter 来完成这一切 以保持代码简单 并且由于某种原因我无法正确安装 PIL 并且我不知道这是否可能 感谢您的帮助 我很困惑 from serial import im
  • 使用 AlertDialog 的模态对话框功能

    我想保留AlertDialog直到用户按下其上的任何按钮为止 换句话说 即使用户按下任何其他区域 如其父区域 或按下后退按钮 对话框仍必须保持焦点 请告诉我要使用哪种 Android 4 0 API 方法 提前非常感谢 use setCan
  • 在 BitBucket 上为许多用户和补丁使用 Mercurial 补丁队列存储库

    很抱歉这个由多个部分组成的问题 但我很难理解将 Mercurial 补丁队列与 BitBucket 结合使用的预期方法 而且 Google 也没有提供太多帮助 我希望描述一些 MQ 概念的一个答案能够同时涵盖许多问题 我读过了http ch
  • jQuery 可排序取消事件(如果无效)

    我有一个可排序的列表 在开始排序之前 我想检查该列表的所有元素是否有效 如果没有 请取消活动并保持列表不变 您可以在这里找到代码http jsfiddle net DZYW5 4 当我使用它时 事件被取消 但元素被删除 start func
  • 如何在 Helm for Kubernetes 中循环不同的模板?

    我想部署具有不同图像 端口等但具有非常相似的其他属性的多个 Pod 部署 所以我想声明一个deployment yaml文件看起来像这样 range Values types apiVersion extensions v1beta1 ki
  • 如何将这些功能组合起来而不重复呢?

    由于所有 3 个产品功能都有相同的产品列表 我如何将这些多个功能合并为一个 这样我就可以避免在这里重复 所有功能都有产品列表 只是货币不同 如何将这三个功能合二为一 有人可以建议我吗 谢谢 function ProductDataRende
  • OpenCV:删除图像的背景

    我正在使用 Opencv 和 python 来检测形状 然后裁剪它们 我已经成功地做到了这一点 但是现在我正在尝试拍摄裁剪后的图像并删除它们的背景 该图像内部有一个圆圈 周围是灰色 它可以是灰色的 甚至可以是不止一种颜色 如何删除圆形边框周
  • 将 TextView 与进度条的进度对齐

    我怎样才能对齐TextView随着水平的进展ProgressBar 我想放一个TextView就在进度位置的上方ProgressBar 进度可能会改变 另外 我想要TextView尽管文本长度可能会改变 但要保持在一行中 在包含 TextV
  • 使用C#程序启动Dll

    我有一个 C 表单应用程序 我创建了一个 Dll 现在我想使用该程序启动该 dll 我该怎么做 include
  • Tkinter 使用菜单栏命令无意递归...原因?

    我正在尝试使用Python GUI制作tkinter 我需要一个菜单 项来打开主窗口的另一个副本 我尝试执行以下代码 当我运行该程序时 它冻结了一点 然后打开了大量窗口 最后打印的错误消息如下 我有两个问题 如何完成使 新建 按钮打开新窗口
  • 如何在 Linux 无头服务器上安装 chrome 扩展

    我需要在无头服务器上安装 chrome 扩展 一种方法是使用组策略 我正在寻找其他方法来做到这一点 对于 Firefox 我只需将我的 XPI 扩展 放在配置文件目录 扩展文件夹中 Firefox 就会选择该扩展 我想知道对于 chrome
  • 如何交错两个不同长度的列表?

    我想写一个函数twolists给出的结果如下 outcome twolists w x y z print outcome w x y z outcome twolists 0 1 w x print outcome 0 w 1 x out
  • 如何在 Java 9 统一日志记录中使用带有冒号的 Windows 文件名?

    java11 Xlog gc file c max txt version 0 002s error logging Invalid decorator max txt Invalid Xlog option Xlog gc file c
  • 编写返回libc攻击,但libc加载到内存中的0x00处

    我正在为我的系统安全课程编写返回 libc 攻击的文章 首先 存在漏洞的代码 vuln c include
  • 如何访问 List 的数组元素

    我有个问题 我有一个 Java 列表 其中填充了不同的值 例如 我有 List
  • 加载数据到文件中,用逗号处理字段

    使用load data infile时如何处理带逗号的字段 我有这个查询 sql LOAD DATA LOCAL INFILE file INTO TABLE sales per pgs FIELDS TERMINATED BY LINES
  • Ruby Rack:启动和拆卸操作(东京内阁连接)

    我在 Rack 上的 Sinatra 中构建了一个非常简单的 REST 服务 它由 3 个 Tokyo Cabinet Table 数据存储提供支持 这些数据存储具有需要打开和关闭的连接 我有两个直接用 Ruby 编写的模型类 目前它们只是