私はRubyで複数のEventMachinesを実行したいという状況があります。誰もこれを経験していますか? (もしそうでなければ、私はそれを自分自身で行うテストケースを書くかもしれません。複数のRuby EventMachinesを1つのプロセスで使用できますか?
私は自分自身で2つのスレッドをインスタンス化し、両方のスレッドでEventMachine.run
を呼び出すので、実際には2つのリアクターループがあります。
なぜ私はEventMachineを使用するAMQP gemで非同期メッセージバスを書いているのですか?それは大丈夫ですが、私は二つのアプリケーション内で使用することができます別の、モジュラーコンポーネントことをしたい:独自のブロッキングGUIループを持っている
- 1(つまり、EventMachineからダニを呼び出すことによってシミュレートすることができない - それは本当にブロックそれはCライブラリでやっているので、私はそれをハックすることはできません)。これは簡単です。EMを独自のスレッドで開始し、ループ間で着信メッセージをスレッドセーフな方法で共有します。
- と自体は、私は潜在的にAMQPコードを共有することができ、反応器のループで実行されている別のアプリケーション(スレッドの安全性の問題のための素晴らしいです - 私は上記のアプリのためにとにかくそれらに対処する必要がありますが)。これは私の考えを持っているものです...上記のアプリケーションと2つの別々のEventMachinesを実行してメッセージバスコードを共有できますか?
誰もが考えていますか?