2016-08-28 4 views
2

私はエリクシールアプリは、ノードのクラスタ([email protected][email protected])上で実行されている、のはそれMyapp.Serverを呼びましょう。PhoenixがElixirアプリを呼び出すことはできますか?

run(パラメータ)これは、Rest Web Serviceに連絡して(取得するデータの数)パラメータをXMLに変換して配置することです最終的に外部FTPに転送されるファイルに変換します。

ので、私に期待される結果を与えている

Myapp.Server.run(any_number) 
を呼び出します。

私はちょうどエリクサーとフェニックスの学習の初めにだけど、二つの質問には、常に私の心に飛び出るされており、私の努力にもかかわらず、私は任意のヒントを見つけることができません。 (または、おそらく私はそれを明確に理解することはできませんよ)

フェニックス・アプリケーションへだから私の二つの質問、

はエリクサーアプリケーション(ノードまたはノードのクラスタ上で実行されている)ことができます 放送? 、他の方法で

(エンド・ユーザーが、例えば、結果を認識するために)

我々はフェニックスのページ内のボタンをクリックすることで、エリクサーモジュールを起動するための要求を開始することができます別のノードで実行していますか?

は、誰かがこの上で私を導くか、私の記事を指していただけますか?

よろしく、

ピエール

PS:私は今のところ読んでいる何。

  • プログラミングエリクサー1.2フェニックスのアプリが絶対的に呼び出すことができます
+0

は、同じクラスタ内のノード上で実行されているフェニックスのアプリケーションですか? – Dogbert

+0

同じクラスタで作業しています。 n2から次のようになります。 iex([email protected])1> Node.list [: "[email protected]"、: "[email protected]"] – Tanc

+0

"Phoenixアプリケーションへのブロードキャストあなたはフェニックスチャンネル(http://stackoverflow.com/questions/33960207/how-to-broadcast-a-message-from-a-phoenix-controller-to-a-channelなど)にメッセージをブロードキャストすることを意味しますか? – Dogbert

答えて

0

氏EMSONから

  • Udemy /エリクサーイントロ
  • )クリス・マッコード、ブルース・テイトとホセ・Valimでフェニックスのプログラミング
  • デイブ・トーマスElixirは他のノードで機能します(ネットワークが通信を許可している限り)。あなたのPhoenixアプリは、本当に特別なことは何もない別のエリクシールアプリです。

    別のノードで関数を呼び出すには、が、タイルである:{atom, node}のように、関数Process.sendを参照してください。アトムは、他のノードの名前付きプロセスであり、ノードはノードの名前です(ケース[email protected])。すなわち、 callcast及びserver typeで参照としてsend({:SomeNamedProcess, "[email protected]"} some_message)

    GenServersもこの{atom, node}タプルを受け入れることができます。すなわち、 GenServer.call({:SomeNamedProcess, "[email protected]"}, {:do_something, some_message})

    また、[Node.spawn_link](たとえば、[Node.spawn_link])を使用して別のノードにアドホック機能をスポーンすることができます。send({:SomeNamedProcess, "[email protected]"} some_message))機能。すなわち、 Node.spawn_link :"[email protected]", fn -> IO.puts("Hello from #{inspect self}") end

    また、spawn Elixir Tasks on another nodeを選択することもできます。

    これらの手法のいずれかを選択することは、実際の使用例の問題です。

    あなたは、ノード間の間接の別のレベルなどのプロセスレジストリにterested abeinことがあります。

    https://m.alphasights.com/process-registry-in-elixir-a-practical-example-4500ee7c0dcc#.sws1ye9e9

    https://medium.com/@StevenLeiva1/elixir-process-registries-a27f813d94e3#.5xvkv03k5

    関連する問題