問題タブ [drb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - は? およびdRubyオブジェクト
私は dRuby を使用しています。基本的には、オブジェクトを返すリモート メソッドを呼び出しています。
クライアント側には、次のコードがあります。
ここで、response は DRbObject です。(私は dRuby を使用する前にこのコードを開発しました。何か問題が発生した場合は Error オブジェクトを返します)。問題は今
オブジェクトは実際には DRbObject であるため、"false" が返されます。アプリケーションオブジェクトのクラスを確認する方法について何か考えはありますか?
ありがとう!ロベルト
ruby-on-rails - Drb と「リサイクルされたオブジェクトです」例外
私は奇妙な問題を抱えています。コントローラーが drb オブジェクトを呼び出します
このDrbオブジェクトはいくつかの検索を行っています。
しかし、Linux 環境では、このスタックトレースで「0xdba87b30 はリサイクルされたオブジェクトです」と表示されることがあります。
奇妙なことに、(Windows) 開発マシンではエラーを再現できませんが、Linux テスト サーバーでのみ発生します (マシンに 1 つではなく 2 つの雑種)。
どうしたの?ガベージコレクター(再利用する前に回収したオブジェクト)の問題だと思うのですが、どこが悪いのかわかりません。コントローラーでオブジェクトを作成し、その上でメソッドを呼び出すだけです。
何か案が?
ありがとう!ロベルト
ruby-on-rails - Railsアプリケーション内でDRbサービスを初期化する正しい場所はどこですか?
Railsアプリケーション内でDRbを使用して、Railsプロセスの外部で高価なタスクをオフロードしています。DRbObject.newを使用してクライアントスタブを初期化する前に、DRb.start_serviceを使用してDRbサービスを初期化する必要があります。
モデルまたはコントローラーでこれを行うと、スレッドが不確実な状態のままになるように見えます。私が雑種を出るとき、それは言います:
Reaping 1 threads for slow workers because of 'shutdown'
Waiting for 1 requests to finish, could take 60 seconds.
environment.rbでサービスを初期化することは、大きな注意点でうまく機能しているようです。私は、一部のRailsワーカーでもbackgroundrbを使用しています。それらが初期化されると、environment.rbが実行され、二重初期化による問題が再び発生します。
クライアントでDRb.start_serviceを呼び出す正しい場所はどこですか?または、同じプロセスで2回実行することを回避できるように、初期化をテストする方法はありますか?
ruby-on-rails - DRbの信頼性は?
DRbを使用してメモリ内メッセージ キューを実装し、プロセス間でアクションを同期する際に考慮すべき問題はありますか? 信頼できない可能性があると聞きましたが、この主張を確認するものはウェブ上で見つかりませんでした.
関連する場合、これらは、データベース内のモデルを更新する Rails アプリ環境で実行されるプロセスになります。
ruby - スレッドまたはDRb?
Ruby でプログラムの 2 つ (または 3 つ) の「ファセット」を継続的に実行する必要があります。通信スレッド、レンダリング スレッド、そしておそらくキャッシュ スレッドです。
アイデアは、レンダリング スレッドがスライド ショーを表示し (その定義がファイルから読み取られる)、すべてのスライドが通信スレッドによってリモート HTTP サーバーから取得されるというものです。レンダリングは継続的で停止する必要はありません (したがって、キャッシュが必要になる可能性があります)。ファイルはプログラムの存続期間中に変更される可能性があるため、(その場で) 再解析する必要があります。
通信スレッドがショーの「チャプター」全体を取得したときのように、「ファセット」間でメッセージを送信したいと思います。たとえば、ショー全体がダウンロードされるのを待つ前にレンダリング スレッドを開始できます。
Ruby スレッドまたは DRb を使用する必要がありますか? スレッド間でメッセージを渡すにはどうすればよいですか?
フィードバックをお寄せいただきありがとうございます。
python - 分散Rubyに似たPythonモジュールはありますか
私はPythonを初めて使用します。ルビーのdrbに似たPythonのモジュールがあるか知りたいだけですか?クライアントがdrbサーバーによって提供されるオブジェクトを使用できるように?
ruby-on-rails - この Web サイト アプリケーションには、Rails と Ruby のどちらを使用する必要がありますか? どのように?
私は Web プログラミングに非常に慣れていません (または、最後に Web をいじったのは HTML 1.1 だったので、実際には非常に古いものです) が、Web アプリケーションをすばやくデプロイする必要があります。振り返るたびに、学ぶべき新しい頭字語や技術 (JSON、XMLRPC、GWT、Javascript、Rails など) があるようです。
私のアプリがしなければならないことは次のとおりです。
- ユーザー名とパスワードを指定して、認証します (簡単に、すべてがそれを行っているようです)。
- ユーザーが処理のために大量のデータをアップロードできるようにします。
- そのデータを処理します。
- ユーザーが処理済みデータをダウンロードできるようにします。
データを処理するための Java スクリプトとデータベースは既にあります。1 台のマシンで、一連のコマンドライン プログラムを実行して、受信データブロックを処理し、結果を mysql データベースに戻すことができます。それはすでに存在し、機能しています。
これらの既存のテスト済みの方法を使用して、このタスクの Web フロントエンドを構築したいと考えています。私は現在、このアプローチに傾いています:
- データベース マシンと Web サーバーの 2 台のマシンを用意します。このアプローチでは、必要に応じて後のスケーラビリティが考慮されますが、データにアクセスして操作するために使用するプログラムがローカルに保存されていると想定できないことも必要です。
- Ruby DRbアプリケーションを使用して、サーバーとクライアントを作成します。クライアントはサーバーにデータを渡し、サーバーはこれらのアプリケーションを呼び出します。
- 他の Ruby インターフェイスを使用して、Web フロントエンドの DRb と対話します。
これが私の問題です。Web 用のほとんどの Ruby アプリケーションは、何らかのローカル データベースを自動的に構築しようとするようです。私が見つけたすべてのRails チュートリアルは、独自のデータベースを作成し、それを操作することから始まりますが、これはまさに私がやりたくないことです。
Rails は私にとって適切なテクノロジーですか、それとも Ruby DRb を使用していますか? 他に調べるべき技術はありますか?
ここでRailsまたはRubyが適切である場合、何を見ればよいですか? 私はすでにプログラミング Rubyの本を持っており、バックエンドのいくつかの作業と基本的な DRb の作業にそれを使用しました。
ruby - UPnP を利用するクライアント/サーバーは Ruby でどのように動作しますか?
Ruby を使用して、ルーターの背後にある 2 台のコンピューターがサーバー/クライアント セットアップでファイルを共有できるようにしたいと考えています。Ruby のUPnP 実装を調べましたが、私の意見では、ドキュメントはかなり貧弱で、ライブラリの説明はあまりありません。サーバーとクライアントの両方がルーターの背後にあり、できればDRBでUPnPを利用する方法の基本的な例を誰かが挙げることができますか?
ありがとう!
ruby - 分散Rubyサービスの停止
ハンドラオブジェクトを生成してを介して待機する前に、DRbサービスを起動するスクリプトがありますDRb.thread.join
。明示的に強制終了されるまでスクリプトを実行したいので、追加しました
これはDRbサービスを正常に停止し、Ruby 1.8で終了しますが、1.9未満ではデッドロックしているようです(OS X 10.6.7)。プロセスをサンプリングすると、いくつかのスレッドがで回転していることがわかりsemaphore_wait_signal_trap
ます。
私は私が呼んstop_service
でいる方法で何か間違ったことをしていると思いますが、私は何をしているのかわかりません。誰かが私にそれを正しく行う方法についての指針を教えてもらえますか?
ruby - プロキシ サーバーを介して Ruby でリモート処理を実装する方法は?
クライアントとサーバーの両方が JRuby で記述されるクライアント サーバー (非 Web ベース) プロジェクトに Ruby を使用することを検討しています。クライアント (Windows) は、プロキシ サーバーを備えた企業のファイアウォールの背後に配置され、サーバーはクラウド内に配置されます。DRbによって ruby から ruby へのリモーティングが非常に簡単になることはわかっていますが、DRb がプロキシ サーバー上で機能するかどうかは不明です。これを行う方法はありますか?
または、JRuby を使用しているため、Java RMI over HTTPを使用することを考えました。