问题标签 [reactor]

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 投票
1 回答
2188 浏览

python - Twisted:等待延迟“完成”

我怎样才能将延迟的“扔”到反应堆中,以便在路上的某个地方处理它?

情况

我在 localhost 上运行了 2 个程序。

  1. 一个扭曲的 jsonrpc 服务 (localhost:30301)
  2. 一个扭曲的网络服务 (localhost:4000)

当有人连接到 webservice 时,它​​需要向 jsonrpc 服务发送查询,等待它返回结果,然后在用户的 web 浏览器中显示结果(返回 jsonrpc 调用的值)。

我似乎无法弄清楚如何返回延迟的 jsonrpc 调用的值。当我使用浏览器访问 Web 服务时,我收到 HTML 500 错误代码(未返回任何字节)和值:< Deferred at 0x3577b48 >。

它返回延迟对象而不是回调的实际值。

在询问之前已经环顾了几个小时并尝试了很多不同的变化。

0 投票
2 回答
5190 浏览

python - Python中的“Actor模型”和“Reactor模式”有什么区别?

https://en.wikipedia.org/wiki/Actor_model,该项目被称为“脉冲星

https://en.wikipedia.org/wiki/Reactor_pattern,项目是 Twisted 和 Tornado

理论和实践有什么区别?

0 投票
0 回答
306 浏览

c++ - 当套接字可读时,POCO C++ 只收到一个通知?

我现在编写游戏服务器,这是我的 onReadable 函数:

我试图在线程池的逻辑处理程序中移动读取数据包,但通知称为乘法。

有没有办法只得到一个通知?因为在线程中读取速度较慢,并且它会调用 5-9 次 onReadable。谢谢。

0 投票
1 回答
402 浏览

python - 为服务器发送请求创建“服务器中的客户端”

我想创建这样的东西: 系统示例

而且我不知道如何在 Twisted 中创建“服务器中的客户端”,以向另一台服务器发送响应。我的意思是sheme:
例如,它已将一些文件写入fs1:
Client -> Server -> FSClient(created into Server.onMessage()) -> Fileserver
并获得响应:
Fileserver -> FSClient -> Server -> Client

客户端.py:

server.py(和文件服务器客户端):

文件服务器.py:

0 投票
1 回答
2217 浏览

multithreading - Spring 中的 @Async 与 Reactor 线程池

@Async注解的方法和Reactor设置使用相同大小的线程池有什么区别。这种方法之一有什么好处,它会是什么?对于我的使用,我不关心使用异步方法返回任何值。

0 投票
2 回答
964 浏览

spring - Spring 中带有 Reactor 的 UDP 处理程序

我希望我的应用程序对从数千个不同客户端发送的 UDP 事件做出反应。每个客户端每 5-10 秒发送 1-10 个 UDP 数据包。每个数据包都将并且应该非常快速地处理(主要在内存和小型计算中,通过 redis 帮助,只有偶尔的 DB 调用)。不会有数据返回给调用者。

我在 Spring 中实现了 Reactor,就像他们在wiki上描述的那样。然后我实现了 UDP 入站通道,就像他们的 Spring Integration 文档中描述的那样。这是配置:

然后在 UDPAccumulator 中我将该消息发布到反应器:

}

这是“正确”的方法吗,关于我想要高输出?int-ip:udp-inbound-channel-adapter的内部工作原理是什么?它在将消息传递到反应器之前会成为瓶颈吗?我看到反应器有一些与 TCP 相关的类和支持,但没有 UDP。任何关于如何以最佳方式做到这一点的建议表示赞赏!

奖金问题。如果消息到达的速度比发送到反应器的速度快怎么办?redis 消息存储(文章底部)会有帮助吗?如果我在反应器中处理这些数据包的方法很慢怎么办?

0 投票
1 回答
710 浏览

java - 使用 Reactor 选择与键匹配的事件

使用反应器(https://github.com/reactor/reactor)我通知一些事件,例如

我如何实现一个选择器,它选择以“CREATE”开头的所有事件?就像是

提前致谢。

0 投票
1 回答
2210 浏览

java - 我正在使用 spring-reactor 丢失消息,我的设置有什么问题?

我想我会研究 Pivotal 新发布的反应器框架,用于我正在编写的一个简单程序,该程序需要一些多线程来及时完成。

我编写了以下示例项目来了解框架并使用它来了解它的使用方式:

主.java:

MyProducer.java:

MyConsumer.java:

最后是 MainConfiguration.java:

我的问题是程序永远不会完成。消费者每次运行时也会打印出不同的信息。从连续三个运行它打印:

似乎我一定错过了一些非常明显的东西,因为除了这个是 javaconfig 而不是配置的注释,并且没有与外界进行任何交互之外,我看不出这与这里的示例有何不同。

0 投票
2 回答
244 浏览

python - 如何“合并”两个 Python 扭曲的应用程序?

我有两个应用程序,用twisted 框架编写,例如一个使用twisted.web,另一个使用twisted.protocols.*,而不是web。如何将它们“合并”为一个,有效地为两个应用程序共享一个反应器?

这些任务的最佳实践是什么?实际上我需要连接 SIPSimpleApp 和 TornadoWeb。他们都可以使用双绞线电抗器。

0 投票
2 回答
949 浏览

python - 扭曲的 Python 暂停/延迟反应器

我对扭曲很陌生,我有一个 HTTP 客户端,它查询一个有速率限制的服务器,当我达到这个限制时,服务器会以 HTTP 204 响应,所以当我处理响应时,我可能会做一些讨厌的事情,像这样:

我这样做是因为我想暂停所有任务。

以下是我想到的两种行为,要么在同一执行中重新运行之后达到 204 的任务(不知道是否可能),要么只记录错误并在之后在另一个执行中重新运行它们的程序。可能引发的另一个问题是,如果服务器没有响应,我已经在连接上设置了超时,以便在预定义的时间后取消延迟(参见下面的代码)

我可能遇到的另一个问题是,如果我正在睡觉,我可能会遇到这个超时,我的所有请求都将被取消。

我希望我已经足够精确了。先感谢您。

捷波