sql >> Database teknologi >  >> NoSQL >> Redis

Simpel brug af EM::Synchrony#sync forårsager 'root fiber' FiberError -- min fejl?

Jeg tror, ​​din kode kan fungere, hvis du finder den korrekte version af em-hiredis, den forsøger at abe patch, det er et problem med løse afhængigheder.

Her er en fuldt fungerende kode, men baseret på hovedgrenen af ​​em-synchrony:

Gemfil:

source :rubygems

gem 'em-synchrony', :git => "git://github.com/igrigorik/em-synchrony.git"
gem 'em-hiredis', '~> 0.1.0'

test.rb:

require 'rubygems'
require 'bundler/setup'

require 'em-synchrony'
require 'em-synchrony/em-hiredis'

EventMachine.synchrony do
  redis = EM::Hiredis.connect

  redis.set('foo', 'bar')
  puts redis.get('foo')

  EM.stop
end

og kør det derefter med:

$ bundle
$ ruby test.rb

Abe-patching er en iboende mangelfuld måde at lappe ædelstene på, medmindre du sikrer dig, at den nøjagtige version af den ædelsten, du har lappet, bliver brugt, hvilket er noget em-synkrony bør håndhæve eller i det mindste opdage.




  1. Tvinger anvendelse af et 2dsphere-indeks på et mongoose-skema placeringsfeltet til at være påkrævet?

  2. Mongo interface

  3. Problem med at returnere data hentet fra DB-forespørgsler kaldet i løkken

  4. Forespørger om intern matrixstørrelse i MongoDB