Railsサーバーに送信する必要がある大量のデータを常に生成しているC++プログラムがあります。プログラムとサーバーの両方がSuse Linuxを実行している同じマシン上にあります。C++プログラムからRailsサーバーにデータを送る最良の方法
これに対して最も効率的で簡単な解決策は何ですか?
Railsサーバーに送信する必要がある大量のデータを常に生成しているC++プログラムがあります。プログラムとサーバーの両方がSuse Linuxを実行している同じマシン上にあります。C++プログラムからRailsサーバーにデータを送る最良の方法
これに対して最も効率的で簡単な解決策は何ですか?
ソケットが道のりです。 C++でいくつかの優れた非同期およびクロスプラットフォームソケットが必要な場合は、おそらくboost :: asioになります。
データを必要な方法(ファイルまたはデータベース)で保存できます。
唯一の難点は、RailsアプリケーションでC++プログラムが完了したことを認識させることです。
この情報をキャッシュに保存することを強くお勧めします。そうすれば、必要なときに毎回これを確認するのに費用がかからなくなります。
あなたのプログラムは両方とも同じローカルマシンに置かれているので、ソケットを使うことができます。一般に、シリアル化されたデータをローカルソケット経由で送信するのは簡単です。ソケットは内部バッファを使用しているので、転送時間は非常に速くなければなりません。あなたのC++プログラムは、Railsサーバーにデータをプッシュすることもできますし、ポーリング呼び出しの間にデータを格納するためにC++プログラムでキャッシュを設定しているならば、RailsサーバーでC++プログラムをポーリングすることもできます。プッシュ方式はおそらく最も効果的です。