RuntimeError:无法在多个进程#440之间共享客户端

时间:2014-03-25 19:03:23

标签: ubuntu amazon-web-services ruby-on-rails-3.2 redis memcached

我有两个redis弹性缓存节点,我在负载均衡器下运行两个实例,一个在ap-southeast-1a区域,另一个在ap-southeast-1b区域。节点也在不同的区域中运行。 ap-southeast-1a和ap-sooutheast-1b,这是我们现在的测试环境。我

它是一个ruby 2和rails 3.2.x电子商务应用程序。

我们正在使用dalli gem连接并从redis弹性缓存中获取数据,基本上dalli充当弹性内存缓存的redis客户端。

我现在面临的问题是,

由于某种原因,流量正在移动到ec2实例的1b,这使系统进入崩溃状态。但Redis弹性缓存似乎只有1b似乎是个问题。

这是我的配置文件

config file:
defaults:
ttl: 1800
readonly: false
urlencode: false
c_threshold: 10000
compression: true
debug: false
namespace: ""
sessions: true
fragments: true
memory: 128
servers:
- my-test-server:11211
benchmarking: true
raise_errors: true
fast_hash: false
fastest_hash: false

error:
my-test-server:11211 failed (count: 0) RuntimeError: Cannot share client between multiple processes
#
retrying request with new server
Dalli::Server#connect my-test-server:11211

请帮助我。这个问题很久以来一直存在。

0 个答案:

没有答案