簡體   English   中英

Phoenix / Erlang節點連接

[英]Phoenix/Erlang node connection

我有一台機器上啟動了一個Elixir Phoenix節點,而另一台機器上啟動了一個Erlang節點。 Erlang節點具有一個名為“ rec”的進程,該進程接受三個元素的元組:一個原子和兩個字符列表。 當我在Elixir節點上運行此代碼時:

Node.spawn_link(node_name, fn -> send(:rec, {:create, uuid, link}) end)

它可以根據需要運行,但是當我從Phoenix控制器運行它時,它將返回如下錯誤:

[error] Error in process #PID<14185.2561.0> on node :"node1@192.168.0.137" with exit value:
{:undef, [{#Function<0.87309885/0 in SlrRecorderApiWeb.CameraController.add/2>, [], []}]}

我應該怎么做才能正確運行它?

發生這種情況是因為模塊SlrRecorderApiWeb.CameraController沒有加載到有問題的Erlang節點上:當您發送要在另一個節點上運行的fn函數時,必須在兩個節點上都加載定義了該模塊的模塊。

好消息是您不需要在這里使用函數,您可以使用:

send({:rec, node_name}, {:create, uuid, link})

消息將被發送到另一個節點上名為rec的進程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM