cost 201 ms
等待 OTP 进程退出 - Await an OTP process to exit

假设您有一个 OTP 进程,您希望同步等待其完成(其中“完成”可能是正常退出或崩溃、停止等)。 进一步假设出于业务原因,您不能使用Task.async/1或相关的Task实用程序生成此进程——它必须是一个不依赖于Task.await/2的“正常”进程。 有没有比简单地间歇性地轮询Process. ...

2021-07-15 16:26:57   2   50    elixir / otp  
通过环境。 动态变量到应用程序模块,在运行时? - Passing an env. variable dynamically to Application module, at runtime?

在我的 opt 应用程序中,我有一些在应用程序启动时运行的东西: 但是,我发现每当我在新服务器上部署应用程序时,它都会无法启动,因为尚未创建数据库。 即使通过控制台启动应用程序也无法解决问题,因为它仍然会因同样的原因崩溃。 如何解决? 我应该引入一个布尔环境。 变量“disable_db_ ...

将 Learn You Some Erlang 教程从 gen_fsm 转换为 gen_statem - Converting Learn You Some Erlang tutorial from gen_fsm to gen_statem

我一直在阅读本教程的Rage Against The Finite State 机器一章,它使用了 gen_fsm,它已被弃用,取而代之的是 gen_statem。 运行测试时,我总是卡住,因为其中一个客户端正在协商 state并收到一个accept_negotiate 事件。 (也许还有其他错 ...

Erlang 回显服务器与 python 客户端未回显,python 客户端未正确接收响应 - Erlang echo server with python client is not echoing, python client not receiving response correctly

所以我试图启动一个 erlang 服务器,它将从我的 python 客户端回显。 我可以看到连接已经建立,但是回声实际上并没有发生。 谁能指出我正确的解决方案? 我使用 python3 作为我的客户端驱动程序。 这是我的 erlang 服务器:我从 echo:accept(6000) 开始。 这是我 ...

使用设置 {packet,4} 并使用 NodeJS“帧流”进行 TCP 通信的 OTP gen_tcp 的奇怪行为 - Strange behavior of OTP gen_tcp with settings {packet,4} and using NodeJS "frame-stream'' for TCP communication

我一直在努力让我的消息在我的 NodeJS 服务器和我的 erlang gen_tcp 服务器之间正确构建。 在我不得不发送大数据消息并需要切换到消息大小框架之前,我一直在成功使用 {packet,line}。 我将 gen_tcp 设置为{packet,2} 我使用的库来自: https://gi ...

为什么在 GenServer 中启动 Supervisor 会导致进程重启行为出现问题? - Why does starting a Supervisor in a GenServer cause problems with process restart behavior?

正如问题的标题所说: 为什么在 GenServer 中启动 Supervisor 会导致进程重启行为出现问题? 我在这里找到了一个讨论,其中说明了以下内容: 具体来说: “监督树提供的保证较少,因为进程可能会退出,而监督者不会终止其子进程。” “如果主管子项被命名 ...

如何在 Erlang 中实现以下循环? - How can I implement the following loop in Erlang?

我有以下伪代码: 我想使用erlang并行化这段代码。 如何使用 Erlang 实现相同的功能? 我是 Erlang 的新手... 编辑: 我知道以下代码同时运行对say/2的调用: 但是,这里我们对函数进行了硬编码。 因此,假设我要打电话say 1000次,我需要写spawn(pmap ...

AMQP 连接丢失不会杀死父进程,因此重新连接永远不会发生 - AMQP connection lost doesn't kill parent process, so reconnection never happens

我有我的 GenServer 的 init 功能。 主管正在照顾它,应该在退出时重新启动它。 当我使用sudo service rabbitmq-server restart重新启动 RabbitMQ 时,未建立新连接。 在调试栏中,我看到以下内容: 当我单击连接 pid <0.417 ...

ets 表重新创建同名后会释放内存吗? - Will ets table release memory after recreating with the same name?

我有聚合事件的 genserver: 在init我创建了 ets 表。 在 ets 表的info清理内存中将cast和刷新数据中的值添加到外部调用中(我认为)。 问题: 这个实现容易内存泄漏吗? 旧的 ets 表垃圾收集了吗? 旁白问题:这个实现看起来完全正常吗? ...

如何从任何链接的进程中获得任何崩溃的通知? - How to get notified for any crash from any linked process?

我在我的应用程序中启动了多个(genserver)进程,虽然主管、动态主管,有时只是一个直接的 start_link。 当我使用iex -S mix启动应用程序时,其中一些可能会崩溃而不让我知道。 如果我自己没有发现,如何确保我收到来自任何进程的任何崩溃的所有通知? 在跟踪所有事件的同时,“让进程崩 ...

2020-10-22 15:18:54   2   81    elixir / otp  
二郎。 关于 ?SERVER 和 ? 的区别的问题模块宏 - Erlang. Question about the difference of ?SERVER and ? MODULE macros

在gen_server实现的所有示例中,我看到?SERVER被分配给?MODULE 。 往下看: 我的想法是运行许多具有不同名称但在一个模块中实现的服务器进程。 但是,当我在实验中尝试使用与模块名称不同的名称运行服务器时,我总是遇到错误。 请有人向我解释这种微妙之处。 ...

2020-08-26 15:34:41   1   51    erlang / otp  

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM