Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Erlang 有没有办法访问GenServer的状态?_Erlang_Elixir_Otp - Fatal编程技术网

Erlang 有没有办法访问GenServer的状态?

Erlang 有没有办法访问GenServer的状态?,erlang,elixir,otp,Erlang,Elixir,Otp,是否有一种内置方式可以查看GenServer的当前状态?您总是可以实现一个简单的调用来返回状态,但是有没有更通用的方法 当我运行:observer.start时,我可以查看正在运行的应用程序并查看它们的状态,因此这似乎是可能的。但它可能是在做一些双重秘密的Erlang伏都教来达到这个目的。这取决于你将如何使用它 如果获取状态是您业务逻辑的一部分,那么是-这应该在应用程序中使用GenServer.call正确建模以返回状态 如果您仅在调试/洞察应用程序时需要此功能,您可以使用以下功能: iex&g

是否有一种内置方式可以查看GenServer的当前状态?您总是可以实现一个简单的调用来返回状态,但是有没有更通用的方法


当我运行:observer.start时,我可以查看正在运行的应用程序并查看它们的状态,因此这似乎是可能的。但它可能是在做一些双重秘密的Erlang伏都教来达到这个目的。

这取决于你将如何使用它

如果获取状态是您业务逻辑的一部分,那么是-这应该在应用程序中使用
GenServer.call
正确建模以返回状态

如果您仅在调试/洞察应用程序时需要此功能,您可以使用以下功能:

iex> :sys.get_state(pid)
# some state printed
请注意,
:sys.get\u state
将接受
pid
或服务器名称(如果在其中注册)

另外,请查看Elixir的
GenServer
文档,因为它非常有用


希望有帮助

这取决于你将如何使用它

如果获取状态是您业务逻辑的一部分,那么是-这应该在应用程序中使用
GenServer.call
正确建模以返回状态

如果您仅在调试/洞察应用程序时需要此功能,您可以使用以下功能:

iex> :sys.get_state(pid)
# some state printed
请注意,
:sys.get\u state
将接受
pid
或服务器名称(如果在其中注册)

另外,请查看Elixir的
GenServer
文档,因为它非常有用

希望有帮助