首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Druby和ActiveRecord的线程问题

Druby和ActiveRecord的线程问题
EN

Stack Overflow用户
提问于 2009-02-09 14:53:33
回答 1查看 151关注 0票数 2

我有一个rails应用程序和一个单独的druby进程。这个过程给了我一些方法,在每个druby的方法的第一行都有一个对ActiveRecord::Base.establish_connection的调用,其中的db_name依赖于rails应用程序设置的一个参数。有时进程会得到错误的数据库名称,我认为这可能是一个并发问题。会是这样吗?有没有办法让它成为线程安全的?

谢谢你的帮助!罗伯托

EN

回答 1

Stack Overflow用户

发布于 2009-05-15 10:46:49

是的,这是一个并发问题。

要修复它,您必须稍微更改一下您的体系结构,但我没有足够的信息。

  • 在后端运行的代码与在rails应用程序中运行的代码是否相同?
  • 不同的数据库是否使用相同的模型?
  • 您有多少个不同的数据库?这个数字还在增长吗?

基本上,如果您有少量固定数量的数据库,最简单的方法就是使用不同的ruby进程。

如果你有不同的数据库和不同的模型,你可以设想使用不同的基类:

代码语言:javascript
复制
AppA < ActiveRecord::Base
Model1 < AppA
Model2 < AppA

AppB < ActiveRecord::Base
Model3 < AppB

然后你就可以调用

代码语言:javascript
复制
AppA.establish_connection(...)
AppB.establish_connection(...)

到不同的数据库。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/528449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档