嘿,我正在尝试将我的应用程序连接到单个工程实例上的redis : redis-cli ping取回乒乓,而作为一个宝石包含在应用程序中的服务器似乎正在运行。
当我手动运行bundle exec领班时,下面是输出:
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命令,以及为什么它接收了错误的参数数。有什么建议吗?
发布于 2013-09-20 02:11:38
是使用宝石红宝石-rb,它扩展了SET方法,而不是最后几个args。只有名字/价值。
发布于 2013-09-19 17:15:46
我有点钻研这个。您可以在这里查找发出的set命令:
https://github.com/redis/redis-rb/blob/master/lib/redis.rb#L675
您可以将调试器放在这里,尝试复制该场景并获得确切的错误。
Redis' set命令的工作方式如下:
SET <key_name> <value>例:
SET name 'Avi'关于最佳细节:
http://redis.io/commands/set
https://stackoverflow.com/questions/18900782
复制相似问题