3

私はmongodbからmongomapperを使用するrailsアプリを持っていますが、すべて順調です。問題は...erlangを使用してバックグラウンド処理を実行し、同じmongo/mongomapperモデルをこの処理の結果で更新したいと思います。2つのアプリ(railsとerlang)間でモデル定義を共有し、正気を保つための最良の方法は何ですか?両方が同じレコードにアクセスしている場合、それらを別々に管理しようとすると問題が発生するようです。「良い」方法がない場合、私は単にこれに間違った方法でアプローチしていますか?

追加情報:私は元々、スターリング/ワーキングクライアントを使用してバックグラウンド処理を行っていました。同じレールモデルとコードをすべて使用できるので、これは便利です。パフォーマンスはひどいものだったので、効率の問題のいくつかを解決するためにアーランを探しています。大量のデータを処理していますが、並行して簡単に処理できます。

私は、レストまたはスリフトインターフェイスを介してmongodbとrailsの間の唯一のメディエーターとしてerlangを使用することを避けようとしています。

編集:私はこれにもう少し光を当てたかった。erlang処理では、モデルについて事前に少し知っておく必要があります。私は基本的にerlangを使用して、他の場所からデータをプルし、モデルオブジェクトの詳細を入力しています。したがって、たとえば、xmerl_xpath:string( "// description / text()")を使用してxmlファイルからスクレイピングしている説明フィールドがある場合があります。モデルのフィールドに作用するこのようなメソッドを追加できるようにする必要があります。

4

1 に答える 1

1

MongoDBには、コミュニティでサポートされている2つのErlangドライバー(erlmongoとemongo)があります。これらのドライバーを介してmongodbにアクセスすると、ネイティブのErlangオブジェクトが得られます。

Ruby-> MongoMapper-> Mongorubyドライバー->MongoDB->(emongo | erlmongo)-> Erlang

于 2010-02-07T00:16:42.000 に答える