问题标签 [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.
python - Twisted:等待延迟“完成”
我怎样才能将延迟的“扔”到反应堆中,以便在路上的某个地方处理它?
情况
我在 localhost 上运行了 2 个程序。
- 一个扭曲的 jsonrpc 服务 (localhost:30301)
- 一个扭曲的网络服务 (localhost:4000)
当有人连接到 webservice 时,它需要向 jsonrpc 服务发送查询,等待它返回结果,然后在用户的 web 浏览器中显示结果(返回 jsonrpc 调用的值)。
我似乎无法弄清楚如何返回延迟的 jsonrpc 调用的值。当我使用浏览器访问 Web 服务时,我收到 HTML 500 错误代码(未返回任何字节)和值:< Deferred at 0x3577b48 >。
它返回延迟对象而不是回调的实际值。
在询问之前已经环顾了几个小时并尝试了很多不同的变化。
python - Python中的“Actor模型”和“Reactor模式”有什么区别?
https://en.wikipedia.org/wiki/Actor_model,该项目被称为“脉冲星”
https://en.wikipedia.org/wiki/Reactor_pattern,项目是 Twisted 和 Tornado
理论和实践有什么区别?
c++ - 当套接字可读时,POCO C++ 只收到一个通知?
我现在编写游戏服务器,这是我的 onReadable 函数:
我试图在线程池的逻辑处理程序中移动读取数据包,但通知称为乘法。
有没有办法只得到一个通知?因为在线程中读取速度较慢,并且它会调用 5-9 次 onReadable。谢谢。
python - 为服务器发送请求创建“服务器中的客户端”
我想创建这样的东西:
而且我不知道如何在 Twisted 中创建“服务器中的客户端”,以向另一台服务器发送响应。我的意思是sheme:
例如,它已将一些文件写入fs1:
Client -> Server -> FSClient(created into Server.onMessage()) -> Fileserver
并获得响应:
Fileserver -> FSClient -> Server -> Client
客户端.py:
server.py(和文件服务器客户端):
文件服务器.py:
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 消息存储(文章底部)会有帮助吗?如果我在反应器中处理这些数据包的方法很慢怎么办?
java - 我正在使用 spring-reactor 丢失消息,我的设置有什么问题?
我想我会研究 Pivotal 新发布的反应器框架,用于我正在编写的一个简单程序,该程序需要一些多线程来及时完成。
我编写了以下示例项目来了解框架并使用它来了解它的使用方式:
主.java:
MyProducer.java:
MyConsumer.java:
最后是 MainConfiguration.java:
我的问题是程序永远不会完成。消费者每次运行时也会打印出不同的信息。从连续三个运行它打印:
似乎我一定错过了一些非常明显的东西,因为除了这个是 javaconfig 而不是配置的注释,并且没有与外界进行任何交互之外,我看不出这与这里的示例有何不同。
python - 如何“合并”两个 Python 扭曲的应用程序?
我有两个应用程序,用twisted 框架编写,例如一个使用twisted.web,另一个使用twisted.protocols.*,而不是web。如何将它们“合并”为一个,有效地为两个应用程序共享一个反应器?
这些任务的最佳实践是什么?实际上我需要连接 SIPSimpleApp 和 TornadoWeb。他们都可以使用双绞线电抗器。
python - 扭曲的 Python 暂停/延迟反应器
我对扭曲很陌生,我有一个 HTTP 客户端,它查询一个有速率限制的服务器,当我达到这个限制时,服务器会以 HTTP 204 响应,所以当我处理响应时,我可能会做一些讨厌的事情,像这样:
我这样做是因为我想暂停所有任务。
以下是我想到的两种行为,要么在同一执行中重新运行之后达到 204 的任务(不知道是否可能),要么只记录错误并在之后在另一个执行中重新运行它们的程序。可能引发的另一个问题是,如果服务器没有响应,我已经在连接上设置了超时,以便在预定义的时间后取消延迟(参见下面的代码)
我可能遇到的另一个问题是,如果我正在睡觉,我可能会遇到这个超时,我的所有请求都将被取消。
我希望我已经足够精确了。先感谢您。
捷波