问题标签 [em-synchrony]
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.
ruby - 如何将 EM::Synchrony::Multi 与 redis 一起使用?
我正在尝试并行执行多个 redis 查询,但出现错误:
这是代码:
请帮忙
concurrency - Sinatra::与 websocket 同步
鉴于Sinatra::Synchrony正在使用EM-Synchrony “便利类和原语的集合来帮助解开事件代码”,这样您就可以编写“快速、高度并发的 Web 应用程序而无需回调(只需像编写普通的 Sinatra 一样进行开发) Web 应用程序,并使用非阻塞库)"..
如何实现一个使用 websock 协议且没有回调的 Sinatra::Synchrony “hello world”应用程序?
换句话说:Sinatra::Synchrony 和 EM-Synchrony 是否也涵盖了 websocket 部分?我找不到足够的文档...有人可以给我几行代码吗?
谢谢
ruby - em-synchrony 使用 http.get 和迭代器导致无法在根 Fiber 错误中产生
一个非常简单的案例,我得到了根 Fiber 错误。
我可以在这里使用异步,但不能使用同步 http 请求。
ruby - 使用 em-synchrony 的 cramp 框架同步“渲染”正确方式
为了描述我的问题,我附上了简单的 Cramp http://cramp.in/类。我添加了一些修改,但它的主要工作方式类似于https://github.com/lifo/cramp-pub-sub-chat-demo/blob/master/app/actions/chat_action.rb
更多关于我尝试做的事情是在 handle_message 方法中。
我尝试以正确的顺序向客户端发送消息。首先向所有订阅者发布消息,然后仅为当前连接的客户端呈现一些内部信息。
对于上述代码客户端接收:
它不同步,可能是因为 em-hiredis 的响应不同。所以我尝试以这种方式同步它:
现在,客户端以正确的顺序处理消息。
我的问题是:
- 当我评论 EM::Synchrony.next_tick 块时,消息顺序仍然不正确。在这个例子中 EM::Synchrony.next_tick 块有什么意义?
- 这是使用 Cramp 或 EventMachine 处理内联同步的好方法吗?
- 有没有更好、更清晰的方法来处理它?
谢谢!
ruby - EM::Synchrony.defer 与光纤感知数据库调用导致 FiberError 异常
我正在尝试在应用程序中使用 EM-Synchrony 进行并发,但在使用延迟代码和 Fibers 时遇到了问题。
在 EM.defer 或 EM::Synchrony.defer 中对数据库的任何调用都会导致应用程序因错误而崩溃can't yield from root fiber
下面是我正在尝试完成的一个非常精简的可运行示例。第一个打印工作并显示[:first, 1]
,但第二个是我因上述错误而崩溃的地方。
我的第一个想法可能是 EM::Synchrony.defer 中的 Fiber.current 和 Fiber.yield 意味着我可以通过额外的 Fiber.new 调用来解决问题
这也无法运行,但这次我得到了错误fiber called across threads
。
ruby - 处理 receive_data 和 em-synchrony 的任何示例?
有没有人有任何构建使用em-synchrony
和的自定义网络客户端的示例receive_data
?
ruby-on-rails - 独立模式下的 Websocket-rails gem FiberError
我是第一次使用 websocket-rails gem。当我尝试在独立模式下触发某些事件时,我的服务器出现错误。但如果独立模式 = false 则没有错误
这是完整的堆栈跟踪
有任何想法吗?
ruby - `autoload` 的纤程问题:`通过堆栈重绕障碍 (FiberError) 调用纤程`
我们在生产环境中使用带有 eventmachine(em-synchrony)的 Fiber 已经很长时间了,而且效果很好。我们使用过时的 ruby 1.9.3 和 ActiveRecord 3.x 超过 2 年。我们正在将这两个主要部分迁移到最新版本。
在尝试将 ruby 升级到最新版本时,我们fiber
called across stack rewinding barrier (FiberError)
在 2.0+ 中遇到了异常,但在 1.9.3 中没有。你们能帮我们解决这个问题吗?
最小样本:
测试.rb
用户.rb
跑
更多示例代码在这个 repo 中:
https://github.com/qqshfox/test_fiber
任何帮助,将不胜感激!
ruby - Ruby 并行运行
我目前有一个小的 ruby 脚本,它连接到远程 SSH 服务器并检查文件的大小并提供结果是否已更改。
问题是大约有 10 台这样的服务器。我想并行连接和检查尺寸,而不是一一检查。谁能指导我如何做到这一点?我还检查了 EM-Synchrony,但我认为最有效的方法是使用 JRuby。
ruby - FiberError:使用 em-synchrony 的“跨线程调用光纤”
我在 sidekiq 工作人员中使用 em-synchrony 和 em-http-request (Ruby 2.1) 同时抓取多个链接。一切正常,除非我尝试同时使用刮板运行多个工人。这是我正在使用的代码:
当这个工作进程在同时运行多个实例的情况下运行时,它最终会抛出以下错误: