首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EngineYard上的Redis连接问题

EngineYard上的Redis连接问题
EN

Stack Overflow用户
提问于 2013-09-19 16:59:37
回答 2查看 359关注 0票数 0

嘿,我正在尝试将我的应用程序连接到单个工程实例上的redis : redis-cli ping取回乒乓,而作为一个宝石包含在应用程序中的服务器似乎正在运行。

当我手动运行bundle exec领班时,下面是输出:

代码语言:javascript
复制
16:42:24 worker_slow.1 | started with pid 9334
16:42:24 clock.1       | started with pid 9335
16:42:43 clock.1       | I, [2013-09-19T16:42:43.159853 #9335]  INFO -- : Starting clock for 1 events: [ run_clockwork ]
16:42:43 clock.1       | I, [2013-09-19T16:42:43.160464 #9335]  INFO -- : Triggering 'run_clockwork'
16:42:43 clock.1       | 2013-09-19T16:42:43Z 9335 TID-oswnco03o INFO: Sidekiq client using redis://localhost:6379/0 with options {}
16:42:43 clock.1       | E, [2013-09-19T16:42:43.385730 #9335] ERROR -- : ERR wrong number of arguments for 'set' command (Redis::CommandError)
16:42:43 clock.1       | /data/rsscom/shared/bundled_gems/ruby/2.0.0/bundler/gems/redis-rb-77c2a9965772/lib/redis/client.rb:85:in `call'
16:42:43 clock.1       | /data/rsscom/shared/bundled_gems/ruby/2.0.0/bundler/gems/redis-rb-77c2a9965772/lib/redis.rb:675:in `block in set'
16:42:43 clock.1       | /data/rsscom/shared/bundled_gems/ruby/2.0.0/bundler/gems/redis-rb-77c2a9965772/lib/redis.rb:36:in `block in synchronize'
16:42:43 clock.1       | /usr/lib64/ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
16:42:43 clock.1       | /data/rsscom/shared/bundled_gems/ruby/2.0.0/bundler/gems/redis-rb-77c2a9965772/lib/redis.rb:36:in `synchronize'
16:42:43 clock.1       | /data/rsscom/shared/bundled_gems/ruby/2.0.0/bundler/gems/redis-rb-77c2a9965772/lib/redis.rb:673:in `set'
16:42:43 clock.1       | /data/rsscom/releases/20130919162848/app/models/redis_lock.rb:3:in `block in acquire'
16:42:43 clock.1       | /data/rsscom/shared/bundled_gems/ruby/2.0.0/gems/connection_pool-1.1.0/lib/connection_pool.rb:49:in `with'
16:42:43 clock.1       | /data/rsscom/shared/bundled_gems/ruby/2.0.0/gems/sidekiq-2.13.1/lib/sidekiq.rb:67:in `redis'
16:42:43 clock.1       | /data/rsscom/releases/20130919162848/app/models/redis_lock.rb:3:in `acquire'
16:42:43 clock.1       | /data/rsscom/releases/20130919162848/lib/clock.rb:10:in `block in <top (required)>'
16:42:43 clock.1       | /data/rsscom/shared/bundled_gems/ruby/2.0.0/gems/clockwork-0.6.0/lib/clockwork/event.rb:51:in `call'
16:42:43 clock.1       | /data/rsscom/shared/bundled_gems/ruby/2.0.0/gems/clockwork-0.6.0/lib/clockwork/event.rb:51:in `execute'
16:42:43 clock.1       | /data/rsscom/shared/bundled_gems/ruby/2.0.0/gems/clockwork-0.6.0/lib/clockwork/event.rb:46:in `run'
16:42:43 clock.1       | /data/rsscom/shared/bundled_gems/ruby/2.0.0/gems/clockwork-0.6.0/lib/clockwork/manager.rb:61:in `block in tick'
16:42:43 clock.1       | /data/rsscom/shared/bundled_gems/ruby/2.0.0/gems/clockwork-0.6.0/lib/clockwork/manager.rb:59:in `each'
16:42:43 clock.1       | /data/rsscom/shared/bundled_gems/ruby/2.0.0/gems/clockwork-0.6.0/lib/clockwork/manager.rb:59:in `tick'
16:42:43 clock.1       | /data/rsscom/shared/bundled_gems/ruby/2.0.0/gems/clockwork-0.6.0/lib/clockwork/manager.rb:49:in `block in run'
16:42:43 clock.1       | /data/rsscom/shared/bundled_gems/ruby/2.0.0/gems/clockwork-0.6.0/lib/clockwork/manager.rb:48:in `loop'
16:42:43 clock.1       | /data/rsscom/shared/bundled_gems/ruby/2.0.0/gems/clockwork-0.6.0/lib/clockwork/manager.rb:48:in `run'
16:42:43 clock.1       | /data/rsscom/shared/bundled_gems/ruby/2.0.0/gems/clockwork-0.6.0/lib/clockwork.rb:26:in `run'
16:42:43 clock.1       | /data/rsscom/shared/bundled_gems/ruby/2.0.0/gems/clockwork-0.6.0/bin/clockwork:19:in `<top (required)>'
16:42:43 clock.1       | /data/rsscom/shared/bundled_gems/ruby/2.0.0/bin/clockwork:23:in `load'
16:42:43 clock.1       | /data/rsscom/shared/bundled_gems/ruby/2.0.0/bin/clockwork:23:in `<main>'

我甚至不知道从哪里开始查找set命令,以及为什么它接收了错误的参数数。有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-20 02:11:38

是使用宝石红宝石-rb,它扩展了SET方法,而不是最后几个args。只有名字/价值。

票数 0
EN

Stack Overflow用户

发布于 2013-09-19 17:15:46

我有点钻研这个。您可以在这里查找发出的set命令:

https://github.com/redis/redis-rb/blob/master/lib/redis.rb#L675

您可以将调试器放在这里,尝试复制该场景并获得确切的错误。

Redis' set命令的工作方式如下:

代码语言:javascript
复制
SET <key_name> <value>

例:

代码语言:javascript
复制
SET name 'Avi'

关于最佳细节:

http://redis.io/commands/set

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18900782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档