gpt4 book ai didi

elixir - 该应用程序未在观察者中列出

转载 作者:行者123 更新时间:2023-12-01 01:48:30 26 4
gpt4 key购买 nike

虽然phenix服务器正常启动,但是我在观察者处的应用程序列表中看不到它。

我所做的是:

elixir -S mix phoenix.server

而且,它是另一个终端:
iMac:~ Apple$ iex
Erlang/OTP 18 [erts-7.3] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]

Interactive Elixir (1.2.4) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> :observer.start
:ok

这是我的应用程序的启动方式:
defmodule Rumbl do
use Application

# See http://elixir-lang.org/docs/stable/elixir/Application.html
# for more information on OTP Applications
def start(_type, _args) do
import Supervisor.Spec, warn: false

children = [
# Start the endpoint when the application starts
supervisor(Rumbl.Endpoint, []),
# Start the Ecto repository
supervisor(Rumbl.Repo, []),
# Here you could define other workers and supervisors as children
# worker(Rumbl.Worker, [arg1, arg2, arg3]),
]

# See http://elixir-lang.org/docs/stable/elixir/Supervisor.html
# for other strategies and supported options
opts = [strategy: :one_for_one, name: Rumbl.Supervisor]
Supervisor.start_link(children, opts)
end

# Tell Phoenix to update the endpoint configuration
# whenever the application is updated.
def config_change(changed, _new, removed) do
Rumbl.Endpoint.config_change(changed, removed)
:ok
end
end

观察者:
enter image description here

那么,为什么我在观察者中看不到它?

编辑

我点击了观察者中的节点,然后“启用分发”,然后节点出现,但是一旦我选择了 rumbl 节点,我就会收到一个错误:
11:17:11.379 [error] [node: :rumbl@iMac, call: {:observer_backend, :sys_info, []}, reason: {:badrpc, :nodedown}]

尽管节点已启动并正在运行:
$ elixir --name rumbl -S mix phoenix.server
[info] Running Rumbl.Endpoint with Cowboy using http on port 4000
14 May 11:10:33 - info: compiled 5 files into 2 files, copied 3 in 2.9 sec
[info] GET /
[debug] Processing by Rumbl.PageController.index/2
Parameters: %{}
Pipelines: [:browser]
[info] Sent 200 in 104ms

我再次尝试选择 rumbl@iMac,然后出现错误:
Child (unknown) crashed exiting:  <0.67.0> {{badmatch,{badrpc,nodedown}},
[{observer_app_wx,handle_info,2,
[{file,"observer_app_wx.erl"},
{line,283}]},
{wx_object,handle_msg,5,
[{file,"wx_object.erl"},
{line,432}]},
{proc_lib,init_p_do_apply,3,
[{file,"proc_lib.erl"},
{line,240}]}]}
iex(2)>
11:19:56.534 [error] ** wx object server #PID<0.67.0> terminating
** Last message in was {:active, :rumbl@iMac}
** When Server state == {:state, #PID<0.59.0>, {:wx_ref, 327, :wxPanel, []},
{:wx_ref, 330, :wxListBox, []}, {:wx_ref, 333, :wxScrolledWindow, []},
{:paint, {:wx_ref, 342, :wxFont, []}, {:wx_ref, 346, :wxPen, []},
{:wx_ref, 343, :wxBrush, []}, {:wx_ref, 344, :wxBrush, []},
{:wx_ref, 345, :wxPen, []}}, :elixir,
{:app,
{{:box, 16, 47, 57, 23, {:str, 5, 5, '<0.35.0>', #PID<0.35.0>}},
[{{:box, 89, 47, 58, 23, {:str, 5, 5, '<0.36.0>', #PID<0.36.0>}},
[{{:box, 163, 47, 58, 23, {:str, 5, 5, 'elixir_sup', #PID<0.37.0>}},
[{{:box, 237, 12, 103, 23,
{:str, 5, 5, 'elixir_code_server', #PID<0.39.0>}}, []},
{{:box, 237, 47, 72, 23, {:str, 5, 5, 'elixir_config', #PID<0.38.0>}},
[]},
{{:box, 237, 82, 80, 23, {:str, 5, 5, 'elixir_counter', #PID<0.40.0>}},
[]}]}]}]}, :undefined, [], {356, 117}}, :undefined, :undefined, true}
** Reason for termination ==
** {{:badmatch, {:badrpc, :nodedown}},
[{:observer_app_wx, :handle_info, 2, [file: 'observer_app_wx.erl', line: 283]},
{:wx_object, :handle_msg, 5, [file: 'wx_object.erl', line: 432]},
{:proc_lib, :init_p_do_apply, 3, [file: 'proc_lib.erl', line: 240]}]}


11:19:56.549 [error] GenServer :appmon_info terminating
** (MatchError) no match of right hand side value: {:badrpc, :nodedown}
observer_app_wx.erl:283: :observer_app_wx.handle_info/2
wx_object.erl:432: :wx_object.handle_msg/5
(stdlib) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
Last message: {:EXIT, #PID<0.67.0>, {{:badmatch, {:badrpc, :nodedown}}, [{:observer_app_wx, :handle_info, 2, [file: 'observer_app_wx.erl', line: 283]}, {:wx_object, :handle_msg, 5, [file: 'wx_object.erl', line: 432]}, {:proc_lib, :init_p_do_apply, 3, [file: 'proc_lib.erl', line: 240]}]}}
State: {:state, #PID<0.67.0>, [], 20507, [#PID<0.67.0>]}

已修复

当我启用“启用分发”时,我输入了 rumbl 节点中使用的相同 cookie:
elixir --sname rumbl --cookie secret_token -S mix phoenix.server

然后,我选择了 rumbl 节点并列出了所有应用程序!

最佳答案

默认情况下,观察者显示与观察者在同一节点上运行的应用程序。通过使用 elixir -S ... 启动服务器然后运行 ​​:observer.start在新 iex ,您正在生成 2 个节点。

您可以通过给该节点一个 --name 来查看另一个节点的数据。 (或 --sname):

elixir --name rumbl -S mix phoenix.server

然后从观察者的“节点”菜单中选择该节点。

关于elixir - 该应用程序未在观察者中列出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37223422/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com