3

我有一个通过 mongomapper 使用 mongodb 的 rails 应用程序,一切都很好。问题是......我打算使用 erlang 来做一些后台处理,我想用这个处理的结果更新相同的 mongo/mongomapper 模型。在两个应用程序(rails 和 erlang)之间共享模型定义并保持理智的最佳方式是什么?如果他们都访问相同的记录,那么尝试单独管理它们似乎会有问题。如果没有“好”的方式,我只是以错误的方式接近这个吗?

附加信息:我最初是使用 starling/workling 客户端进行后台处理。这很好,因为我可以使用所有相同的导轨模型和代码。虽然性能很糟糕,所以我希望使用 erlang 来解决一些效率问题。处理的数据量很大,但可以很容易地并行处理。

我试图通过rest或thrift接口避免使用erlang作为mongodb和rails之间的唯一中介。

编辑:我想更清楚地说明这一点。erlang 处理需要事先对模型有所了解。我基本上是使用 erlang 从其他地方提取数据并填写模型对象的详细信息。因此,例如,我可能使用 xmerl_xpath:string("//description/text()") 从 xml 文件中抓取了一个描述字段。我需要能够添加这样的方法来作用于模型的字段。

4

1 回答 1

1

MongoDB 有两个社区支持的 Erlang驱动程序(erlmongo 和 emongo)。通过这些驱动程序访问您的 mongodb 将为您提供本机 Erlang 对象。

Ruby -> MongoMapper -> Mongo ruby​​ 驱动程序 -> MongoDB -> (emongo | erlmongo) -> Erlang

于 2010-02-07T00:16:42.000 回答