[英]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.