#ruby-on-rails #ruby #redis
Вопрос:
Сервер Redis v=5.0.3
target_servers.each do |server|
ls = Redis.new(host: server, port: 1111, db: 1)
if ls
ls.pipelined do
host.keys.sort.each do |hostname|
ls.hset(mk, *host[hostname].flatten)
end #loop
end # pipelined
end #if
end
Когда мы запускаем этот код, он выдает следующую ошибку —
Для Redis::CommandError: ошибка неверное число аргументов для ‘hset’ команду /var/home/user/.rvm/gems/ruby-2.7.3@proj/gems/redis-4.3.1/lib/redis/client.rb:231:in call_pipelined' /var/home/user/.rvm/gems/ruby-2.7.3@peoj/gems/redis-4.3.1/lib/redis/client.rb:185:in
заблокировать в call_pipeline’ /var/home/user/.rvm/gems/ruby-2.7.3@proj/gems/redis-4.3.1/lib/redis/client.rb:328:in with_reconnect' /var/home/user/.rvm/gems/ruby-2.7.3@proj/gems/redis-4.3.1/lib/redis/client.rb:183:in
call_pipeline’ /var/home/user/.rvm/gems/ruby-2.7.3@proj/gems/redis-4.3.1/lib/redis.rb:2453:in block in pipelined' /var/home/user/.rvm/gems/ruby-2.7.3@proj/gems/redis-4.3.1/lib/redis.rb:70:in
блок синхронизации’ /var/home/user/.rvm/gems/ruby-2.7.3@proj/gems/redis-4.3.1/lib/redis.rb:70:in synchronize' /var/home/user/.rvm/gems/ruby-2.7.3@proj/gems/redis-4.3.1/lib/redis.rb:2449:in
конвейерные’ /ВАР/главная/пользователя/работы/проекта по/lib/задачи/logstash.грабли:88:в block (3 levels) in <top (required)>' /var/home/user/work/proj/lib/tasks/logstash.rake:80:in
каждом’ из /VAR/главная/пользователя/работы/проекта по/lib/задачи/logstash.рейк:80:в block (2 levels) in <top (required)>' /var/home/user/.rvm/gems/ruby-2.7.3@proj/gems/airbrake-11.0.3/lib/airbrake/rake.rb:17:in
исполнении’ /var/home/user/.rvm/gems/ruby-2.7.3@proj/gems/rake-13.0.3/exe/rake:27:in <top (required)>' /home/user/.rvm/gems/ruby-2.7.3@proj/bin/ruby_executable_hooks:22:in
оценка’ /home/user/.rvm/gems/ruby-2.7.3@proj/bin/ruby_executable_hooks:22:in `
Комментарии:
1. вам нужно убедиться, что
host[hostname].flatten
он содержит четное количество элементов (в виде пар ключ-значение, которыеhset
будут храниться).2. Привет, Лам, Да, я проверил, что он содержит четное количество элементов, но все равно выдает ту же ошибку. Пожалуйста, проверьте вопрос, который я задал, опишите подробнее об ошибке.