Hey I'm trying to connect my app to redis on a single engineyard instance: redis-cli ping gets back pong and the server which is included as a gem in the app seems to be running.

When I manually run bundle exec foreman start here is the output:

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>'

I'm not even sure where to begin looking for the set command and why it's receiving the wrong number of arguments. Any have any suggestions?

有帮助吗?

解决方案 2

Was using the gem redis-rb and it extends the SET method but not the last few args. Only name/value.

其他提示

I dug into this a bit. You can look for the set command issued here:

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

You can put the debugger around here, try to replicate the scenario and get the exact error.

Redis' set command works like:

SET <key_name> <value>

eg:

SET name 'Avi'

For best details:

http://redis.io/commands/set

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top