2012-02-20 8 views
1

私はerlangでalittleをプレイし始めてから、最も興味深いと思っています。Erlang、Erlangのインターネットでノードを接続する

私の問題はこれです、私はwebserviceを実行するサーバーを設定したいと思います。サービスは、erlangで書かれている必要があります簡単に突然変異する必要があります、私はホットコードワットを行うことができるようにしたい、コードは書かれ、別のマシンでテストされ、それをファイルにまとめて転送する必要はありませんか?

私は、erlang VMの内部でクロージャを渡すことができるということについて聞いていると思いますが、これは実行可能ですか?または、おそらくサーバマシンのスレッドを開発マシン上のコンパイル済みコードで更新していますか?

私はこれが危険なやり方のように聞こえることは知っていますが、それは私の心が整ったものです。

+1

この質問を見る:http://stackoverflow.com/q/7917108/431620注意: http://stackoverflow.com/a/7927649/431620 –

答えて

1

私が正しく理解していれば、あるノードから別のノードにモジュールをロードします。この場合、bif nl(Module)を使用して、すべてのノードでモジュール "Module"をロードすることができます。または、いずれかを使用することができますnc(Module)もちろん、ノードは同じクッキーを共有しなければならず、接続する必要があります(net_adm:ping(Node)参照)

1

ターゲット展開マシンにファイルを転送することは、本当に避けられません。最低でも、新しいバージョンのモジュールを送付する必要があります。

モジュールを更新したら、フライ・レンジのコードを更新するオプションは、単にモジュールをリロードするだけです(code:load_file/1など)。 OTP upgrade(ここではrebarが役に立ちます)またはその中間のもの(updoやmochiweb reloaderモジュールなど)。実際にあなたがやろうとしていること、変更されたモジュール間の依存関係などによって異なります。

関連する問題