为Ruby编写正确的Eventmachine代码?

| 我正在尝试了解Eventmachine。 我有一台服务器:
module EchoServer
  def post_init
    puts \"connected\"
  end

  def receive_data(data)
   puts \"Receiving data: #{data}\"

   GenericModel.create!(:text => data)
  end

  def unbind
    puts \"disconnected\"
  end
end

EM.run do
  EM.start_server \'127.0.0.1\', 1234, EchoServer
end
和一个客户:
class Echo < EventMachine::Connection
  def post_init
    send_data \'Hello\'
  end

  def receive_data(data)
    p data
    close_connection
  end

  def connection_completed
    puts \"connection completed\"
  end

  def unbind
    EventMachine.stop
  end
end

EventMachine.run {
  EventMachine.connect \'127.0.0.1\', 1234, Echo
}
我想知道的是:数据库访问速度往往会变慢,那么我应该如何重写这行
GenericModel.create!
的代码,以免减慢反应堆循环?     
已邀请:
您可以使用非阻塞且基于em的连接适配器(例如em-mysql),或者在另一个线程中执行该任务。     
看看这个SO问题。它基于Rails,但演示应用程序非常清楚地说明了使用Eventmachine命中数据库的好处。     

要回复问题请先登录注册