あなたはおそらくreplicated
テーブルを意味していたと仮定します。ノードにmnesiaテーブルがあるとします。と-setcookie mycookie
が別のノードにレプリケートされているかどうかにかかわらず、別のターミナルからレコードにアクセスしたい場合、この別のターミナルでerlangを使用する必要があります。このノードを表と一緒にノードに接続します(すべてのCookieが同じであることを確認してください)。次に、リモートノードでメソッドを呼び出します。このモジュールと
$ erl -name [email protected] -setcookie mycookie
Eshell V5.8.4 (abort with ^G)
1> N = '[email protected]'.
'[email protected]'
2> net_adm:ping(N).
pong
3> rpc:call(N,mydatabase,add_record,[RECORD]).
{atomic,ok}
4>
(rpc
):
は、あなたが、私はLinuxのターミナルを開いノードmnesiaテーブルを持っている[email protected]
にモジュールmydatabase.erl
方法add_record
を使用したいとしましょう、私は次のように入力します。 2つのノードが同じCookieを使用して接続されている場合は、リモートノード上の任意のメソッドを呼び出すことができます。リモートノードでこのメソッドを呼び出すことから始めます。
rpc:call('[email protected]',mnesia,info,[]).
リモート端末のすべてを表示する必要があります。おそらく、あなたはまずこの講義を進めてください:
Distributed Erlang Programmingそして、複製されたmnesiaテーブルがどのように管理されているか見ることができます。そのドメインのチュートリアル全体を参照してください。
驚くべきこと、まさに私が必要としたこと、ありがとう。 5 * – Onty