eventmachine

    1热度

    1回答

    在我的eventmachine上运行的代码中,如何知道EventMachine::stop是否已被调用? 我需要这个,所以在我推迟的时候,我不记录那些仅仅由于关闭连接而导致的错误消息,因此从操作的角度来看并不有趣。 是唯一的方法来猴子修补代码?

    1热度

    1回答

    我有一些Deferrables,我需要在回调完成时做一些回调。 defers[0].callback do defers[1].callback do defers[2].callback do yield if block_given? end end end 但这是非常丑陋的,我必须知道必要的回调的确切数量。 我怎样才能以更简洁的

    0热度

    1回答

    在下面的代码中,我从redis队列中读取并在redis操作完成时触发本地可延迟变量d上的回调。 它工作正常,但我期望得到一个错误,因为当方法f返回变量d超出范围。还是呢? 这是为什么有效?是否因为使用d的块创建了闭包,而这些闭包保留d还活着? require 'em-hiredis' def f d = EM::DefaultDeferrable.new EM::Hire

    2热度

    1回答

    我有使用AMQP的宝石从RabbitMQ的队列消耗封邮件红宝石的过程,这样的事情: require "bundler/setup" require "amqp" require 'eventmachine' require 'em-http' AMQP.start(:host => $AMQP_URL) do |connection| @channel ||= AMQP::C

    0热度

    1回答

    我有一个简单的ruby文件,它使用Eventmachine作为守护程序。它看起来像这样: ... EM.run { Signal.trap('INT') { @log.debug("trapped INT signal"); stop(true) } Signal.trap('TERM') { @log.debug("trapped TERM signal"); stop(t

    4热度

    5回答

    当我运行在Lion上OS X的应用程序,我得到这个错误: Unable to load the EventMachine C extension; To use the pure-ruby reactor, require 'em/pure_ruby' /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/eventmachine-1.0.0/lib/eventm

    1热度

    2回答

    我收到RabbitMQ队列的消息,并且每条消息都是我想要发出请求的URL。现在我使用AMQP gem来订阅队列并使用EventMachine,所以我使用em-http-request库来创建http请求。根据该文件在这里:当我订阅的RabbitMQ队列我有以下代码 EventMachine.run { http1 = EventMachine::HttpRequest.new('http

    0热度

    1回答

    我的目标是让系统每隔10分钟为37,500个城市广播一个广告。大约需要5分钟为所有城市进行数据库查询,计算和AMQP IO。 代码大致结构类似: EventMachine.add_periodic_timer(10 minutes) do the_task_that_takes_five_minutes end 什么我的发现是,即使计时器设置为每隔10分钟并且即使任务需要不到十分钟

    2热度

    1回答

    我使用async_sinatra gem来实现异步路由,但我遇到一个帖子说,Sinatra的流媒体API可以用来代替async_sinatra为此目的。可以使用流式传输实现如下相同的功能吗? require 'em-hiredis' require 'sinatra/async' class App < Sinatra::Base register Sinatra::Async

    2热度

    2回答

    我想找到我的项目中使用基于Ruby蒙戈司机蒙戈驱动程序。它必须支持replicasets和eventmachine。我知道em-mongo,但它不支持复制品。它看起来像没有此刻一个很好的选择,但我想看看是否有人知道一个之前,我探索蒙戈的替代品......