• Ruby - 响应 100W 的并发 at 2013年02月21日

    个人觉得这个没什么太大的意义...

    毕竟..也只能处理 179 个请求每秒...另外的 999821 个连接要么在闲置,要么在等待...

    想不到这么大的并发量和这么 的处理能力 (相对并发量来说) 可以在什么场景用到

  • @bhuztez 如果真的时间精度要求这么高,不太适合使用 ruby 这种语言来实现...就好像你说的,EventMachine 都是依赖 select 来做的....

  • @guyanbiao 既然你是用 faye 的,faye 在运行期就依赖于 EventMachine, 这种延迟调度的行为可以依靠 EventMachine 的 timer 来支持,基本还是可靠的,如果你要在另一个进程里面运行,那么就要依靠 delayed_job 这样的机制了

  • rails 的 filter 是在 ActiveSupport::Callbacks 上封装了一层,具体可以看 actionpack/lib/abstract_controller/callbacks.rb

  • 再 Rails 里面,alias_method_chain 已经被认为是一个不好的模式,对于楼主的问题,可以使用 AcitveSupport::Callback 实现,具体代码如下:

    require 'active_support/call'
    class Dog
      include  ActiveSupport::Callbacks
    
      define_callbacks :bark 
      def bark
        run_callbacks :bark do
          puts "wang wang "
        end
      end
    
      set_callback :bark, :after, :after_bark
      set_callback :bark, :before, :before_bark1
      set_callback :bark, :before, :before_bark2
    end