问题标签 [eventmachine]
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-on-rails - 从 Ruby on Rails 应用程序启动和停止 eventmachine 服务器的最佳选择是什么
更正:
具体来说,我希望从 Ruby on Rails 控制器启动和停止EventMachine (EM)。
(有人告诉我,'Thin' 可以很好地解决这个问题。)
笔记:
这个 EM 服务器与运行 Ruby on Rails 应用程序的Mongrel服务器是分开的。(EM 服务器正在接受来自 Arduino 微控制器的连接。)
运行“Thin”作为服务器。我应该能够接受 HTTP 请求和 Arduino 的连接。
如果您推荐其他服务器而不是直接的 EventMachine,请提供执行上述代码的代码。
此处提供完整的控制器代码:http: //pastie.org/1698383
ruby-on-rails - em-mongo 的例子?
希望将 em-mongo 用于文本分析器脚本,该脚本从 db 加载文本、分析它、标记关键字并更新 db。
很想看到一些 em-mongo 的例子。我只能在 github em-mongo repo 上找到一个。
ruby - 如何在 eventmachine 中启动多个工作进程?
我正在使用 rails 3、eventmachine 和 rabbitmq。
当我将消息发布到队列时,我需要启动多个工作进程。
我知道 eventmachine 是我的场景的解决方案。
有些任务会比其他任务花费更长的时间。
使用 eventmachine,从大多数代码示例看来,在任何给定时间都只会运行一个线程/进程。
如何一次启动 2-4 个工作进程?
ruby - EventMachine 暂停以等待响应
好的,我有代码在引擎盖下使用 Cramp\Tramp => EventMachine。代码:
我需要查询的结果才能继续在控制器操作中执行,但看起来执行在我获取数据之前已经完成。渲染文本为:
等待 current_user 假
我的宝石文件是:
ruby - 带有 RabbitMQ 和 Eventmachine 的 Ruby SMPP,AMQP.stop 之后的问题
我对 rabbitmq 有一个小问题,我不明白。我在用:
- 红宝石版本 1.8.7
- AMQP GEM 版本 0.7.0
- RabbitMQ v2.3.1
- 红宝石-smpp v0.4.0
我的代码如下所示:
我添加了这一行进行测试。EM.add_timer(30) {EventMachine::stop_event_loop}
所以30秒后。我停止事件循环,它休眠 35 秒并重新启动一切。问题是 amq = MQ.new 似乎做了一些事情并且它没有给我一个错误,但订阅似乎不起作用。也没有错误。只有在停止进程并重新启动后,它才会再次订阅并处理消息。我不明白为什么
ruby-on-rails - 标志性“聊天系统”webapp 的机制
让我设置一下。我在一家中型教堂从事音响/多媒体工作。有时平台需要与音响室或多媒体室进行通信,我们不希望对此很明显。我们已经尝试过对讲机,但坦率地说,我们运行起来非常热,我们听不到对讲机的声音,即使有耳塞也是如此。另外,我们不能使用短信;它太慢了。
当前的工作思路是使用某种平板电脑(例如,iPad)来运行一个非常简单的应用程序,只需点击图标即可传递快速消息。例如,音乐总监可以点击“声音室”的图标,这让位于显示声音相关项目的特定于上下文的屏幕。然后他可以点击“piano”,然后是“pulpit monitor”,然后是“up”,然后是“lots”,或者“drums”,“piano monitor”,“down”,“a little”。看看我要去哪里?看起来原生应用程序会快速而酷(并且易于货币化),但如果我不需要,我不想在 iOS 上学习开发。我宁愿它只是一个网络应用程序,以便我可以在购买时使用 Xoom 运行它。;-)
在过去的几年里,我一直在学习 Rails,但我还没有尝试过 EventMachine 之类的东西。我看到“剑圣”可能符合要求,但 iPad 上没有 Flash。有谁知道不使用 Flash 可能适合的其他东西?
也许我只需要承认并为 iOS/Android 编写它。如果是这样,我什至从哪里开始呢?
ruby-on-rails - EventMachine 与 Node.js
我将开发一个协作站点,其中一个功能将是具有实时更改的协作编辑。即当两个或更多用户正在编辑同一个文档时,他们可以看到彼此的变化,一旦发生。我有一些使用 Ruby on Rails 的经验,所以我在考虑使用 EventMachine,但是由于围绕 Node.js 的所有这些炒作,我知道我正在考虑使用它。那么,使用 Node.js 而不是 EventMachine 的主要好处是什么?
tl;dr EventMachine 和 Node.js 之间的主要区别是什么(除了语言)?
ruby - 带有 eventmachine 的 mongoid 和 mongomapper
我对 eventmachine 很陌生,我无法在网上找到这个问题的答案。
现在我一直在使用带有 eventmachine 的 em-mongo,并且我基本上在文档和它们各自的对象之间编写了一个穷人的映射器。我只是想确认 mongoid 和 mongomapper 不能在 eventmachine 环境中使用,因为它们是阻塞的,因此首先破坏了使用 eventmachine 的点,而且我没有浪费时间编写这些映射器。:P
ruby-on-rails - Ruby IMAP IDLE 并发 - 如何解决?
我正在尝试构建一个(目前是私有的)Web 应用程序,该应用程序将利用 IMAP IDLE 连接在人们到达时显示他们的电子邮件。
我很难弄清楚如何将它组合在一起 - 以及它如何与我的 Heroku RoR 服务器配合使用。
我编写了一个用于连接 IMAP 服务器和空闲的基本脚本,看起来像这样(简化):
这将与 IMAP 服务器建立一个连接并开始空闲。如您所见,这被循环阻塞了。
我希望我的用户同时有多个 IMAP 连接空闲。最初,我只是想将它们中的每一个放在一个线程中,如下所示:
我对线程还没有那么敏锐,但是使用这个解决方案我仍然必须阻止我的主线程来等待线程?因此,如果我执行以下操作:
那会起作用,但不是没有底部的循环来允许线程运行?
我的问题是如何最好地将它与 Heroku 上的 Ruby On Rails 应用程序融合在一起?我不能用最后一个循环阻塞线程 - 那么我该如何运行呢?另一个服务器?一个测功机 - 也许是一个工人?我一直在阅读有关事件机器的一些信息 - 这可以解决我的问题吗,如果可以,我应该如何写这个?
另一件事是,我希望能够添加新的 imap 客户端并即时删除当前的客户端。看起来怎么样?也许有排队的东西?
非常感谢任何帮助和评论!
ruby - 是否可以从 Thin/Rack/Sinatra 访问 Ruby EventMachine 通道?
我希望为利用 Sinatra 的内部项目构建一个简单的 RESTful 通知系统。我过去曾使用 EventMachine 频道来订阅/发布事件,但在我之前的所有案例中,我都直接使用 EventMachine。
有谁知道是否可以从 Sinatra 应用程序或什至从某些 Rack 中间件创建、订阅和发布到 EventMachine 通道(在 Thin 中运行)?