问题标签 [gen-event]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
275 浏览

erlang - OTP 事件管理器进程中的状态(不是处理程序!)

OTP 事件管理器进程(例如记录器)是否可以拥有自己的某种状态(例如日志记录级别)并基于它过滤/转换事件?

0 投票
2 回答
621 浏览

events - Erlang gen_event 不起作用

我尝试用 erlang 编写简单的 gen_event 应用程序。

我的代码:

当我尝试通知时,我希望函数 handle_event({test}, State) 执行但没有任何反应。为什么?怎么了?

我在哪里可以看到 gen_event 的简单示例?

谢谢你。

0 投票
1 回答
636 浏览

erlang - Erlang:将 gen_event 全局用于远程管理器

当我在本地注册它时,我可以很好地启动我的事件框架:

调用 register() 会显示 foo_event_container,当我向它发送消息时,它们会显示在处理程序中。

但是,当我重新启动节点并尝试

注册()不显示容器,当我尝试向它添加处理程序时,我得到

Sasl 没有提供任何额外的信息,谷歌搜索这个问题会产生一个猜测运行容器的 shell 已经被杀死,这不是这里的情况,因为我试图从同一个节点访问它!

1)有什么想法吗?
2)拥有一个远程容器是最好的设计,还是让每个服务器都使用本地容器来将消息都发送到远程进程会更好?

谢谢!

0 投票
4 回答
2062 浏览

tcp - Erlang 动态接受传入的 tcp 连接

我要解决的问题:拥有一个侦听特定端口的 Erlang TCP 服务器(代码应驻留在某种面向外部的接口/API 中),并且每个传入连接gen_server都应gen_tcp:accept由) gen_server,但我实际上并不想最初生成预定义数量的接受传入连接的进程)。这有可能吗?

0 投票
1 回答
151 浏览

erlang - 以原子方式通知和停止 gen_event 管理器

当我的管理器进程接收到特定消息时gen_event,我希望它在所有处理程序都处理完它并且在它们获取和处理任何其他事件之前停止。我能找到的唯一方法是:

但这要求所有处理程序都remove_handler从中返回,否则它们可以处理从不同进程之后和之前handle_event({stop, Reason}, State)发送的事件。我希望有一种对处理程序没有要求的方法。sync_notifystop

0 投票
1 回答
144 浏览

erlang - 如何使用具有不同状态的同一事件处理程序的多个实例?

我有一个带有定期发生事件的 OTP 应用程序。有几个演员想要做一些事情来响应这个事件。每个参与者所做的事情是其自身状态的函数,但除此之外它们是相同的。

我的问题是如何将此设置合并到监督树中。我有一个 gen_event 管理器,每个参与者都是一个事件处理程序。如果不是因为 gen_event 监督很奇怪,这将很有效。一旦我的第一个处理程序add_sup_handler完成,其余的都将失败,already_started并且充当事件处理程序的主管的我的 gen_server 死亡。

那么我应该在这里做什么?我开始认为我应该编写自己的事件管理器来跟踪我的所有演员及其状态。

0 投票
2 回答
900 浏览

erlang - 在 Erlang 中扩展 gen_event 行为

我正在编写一个事件管理器,它将采用许多不同的事件处理程序。该事件管理器将收到许多不同事件的通知。每个处理程序只处理某些事件,而忽略其余的。每个处理程序还可以根据情况触发某些其他事件。

例如,第一个处理程序来处理Event1

第二个处理程序来处理Event2

事件触发可以通过在处理程序中调用来完成gen_event:notify(self(), NewEvent)handle_event但我宁愿将其抽象出来并将其导出,以便可以从事件管理器中调用它。

由于模式匹配和忽略事件以及触发事件对所有处理程序都是通用的,所以无论如何我可以扩展gen_event行为以将它们作为内置提供吗?

我将从创建自定义行为的默认方式开始:

我不确定下一步该怎么做。

0 投票
1 回答
294 浏览

erlang - gen_event handle_info 没有被调用

我正在使用 gen_event 行为,除了处理事件之外,我希望能够处理其他通用消息。根据文档,这些消息应该通过 handle_info 接收。但是,这似乎不起作用......除非我遗漏了一些非常明显的东西!

这是我的行为实现:

这是我的用法

问题是代码 io:format(" Info ~p~n", [Info]) 从未达到。

我希望我没有做一些非常愚蠢的事情!谢谢

0 投票
1 回答
946 浏览

http - 带有主管的 Erlang socket.io 服务器

我目前正在尝试使用socket.io-erlang创建一个简单的聊天服务器。我刚开始学习 Erlang,所以我在调整他们的演示以便它与模块一起工作时遇到了一些问题。希望你能帮助我,这是我到目前为止所拥有的。它应该还没有任何功能,这次我只想让它工作(我启动它后会收到一些崩溃报告,如果你愿意,你可以阅读它们)。

应用程序

导师

Socket.IO 事件处理程序

HTTP 请求处理程序

0 投票
1 回答
173 浏览

erlang - Erlang - 主管和 gen_fsm 上的异常退出

我有 3 个模块calculadoralog_calculadorasupervisor_calculadora. Calculadora只是一个简单的计算器,它使用 gen_fsm 进行求和、减法、乘法和除法,supervisor 实现了supervisor 行为。Calculadora 运行良好,但是当我尝试使用主管时,calculadora当您进行除法 0/0 或异常时必须重新启动模块时,它不起作用。为什么?

PD:该模块log_calculadora只是将我在calculadoralog.txt 文件中所做的操作写入。TEST 模块是给我异常退出的模块。

计算器:

导师:

测试模块