每个连接的客户端都将这些信息存储在数组@clients中。然后我有一个单独的线程来订阅Redis通道,其中有一个定义的'on.message‘块,它应该向@clients数组中的每个人发送一条消息,但是这个数组在这个块中是空的(模块中其他任何地方都不是空的)。clients.delete(ws) end
我已经将几个应用程序从Rails 3.0升级到了Rails 3.1。它们在Thin上运行,并启用了多线程选项,它们都配置了threadsafe!。在Rails 3.0中工作得很好。但在3.1版本中,在几次请求之后,事情开始变慢。在更多的请求之后,页面挂起了N秒(其中N是我的数据库超时),我得到了这个错误:
ActiveRecord::ConnectionTimeoutError (could not obtain a database此外,增加它们并不