heroku mongohq und mongoid Mongo::ConnectionFailure

UPDATE 9. Juni 2012:

Setup mit mongoid 3.0.0.rc bei heroku finden Sie in diesem gist: https://gist.github.com/2900804

UPDATE 22 jan 2011:

Uri Vorrang haben nun in mongoid.yml

https://github.com/mongoid/mongoid/issues/issue/266

UPDATE 12. August 2010: Obwohl ich bekam eine akzeptierte Antwort 6. Mai von Jackues Crocker, es gibt Aspekte zu diesem Thema, dass es einfach zu Durcheinander! Es passiert mir noch einmal und ich beschlossen, die Forschung der mongoid source-code. So, hier geht es:

Derzeit host: port: name/Datenbank: Einstellungen haben VORRANG vor den uri: Einstellung. Also, die schrecklich sinnlose Fehlermeldung geschieht durch eine Anfrage an localhost:xxxx und nicht zu Flamme.local.mongohq.com:xxxx

Diese brechen!

defaults: &defaults
  host: localhost  <- THIS 'OVERWRITES' host in the uri!

production:
  <<: *defaults    <- BE CAREFUL WITH WHAT YOU BRING IN. THE host: FROM DEFAULTS WILL BE THE ONE APPLIED, not your uri host.
  uri: <%= ENV['MONGOHQ_URL'] %>

fixieren Sie es mit Beseitigung des host: in Verzug, und/oder entfernen der <<: *defaults


ORIGINAL Q:

Habe ich die mongoHQ addon für mongodb auf heroku. Es stürzt ab mit :

connect_to_master': failed to connect to any given host:port (Mongo::ConnectionFailure)

Den Beschreibungen online (heroku mongohq) sind mehr in Richtung mongomapper, wie ich es sehe. Ich bin mit ruby 1.9.1 und rails-3-beta mit mongoid.

Mein Gefühl sagt, dass es etwas mit ENV['MONGOHQ_URL']die es sagt, die MongoHQ addon-sets, aber ich habe mich nicht festgelegt MONGOHQ_URL irgendwo in meinem app. Ich denke das problem ist in meinem
mongoid.yml ?

defaults: &defaults
  host: localhost

development:
  <<: *defaults
  database: aliado_development

test:
  <<: *defaults
  database: aliado_test

# set these environment variables on your prod server
production:
  <<: *defaults
  host: <%= ENV['MONGOID_HOST'] %>
  port: <%= ENV['MONGOID_PORT'] %>
  username: <%= ENV['MONGOID_USERNAME'] %>
  password: <%= ENV['MONGOID_PASSWORD'] %>
  database: <%= ENV['MONGOID_DATABASE'] %>

Es funktioniert lokal, aber nicht auf heroku, mehr stack-trace:

==> crashlog.log <==
Cannot write to outdated .bundle/environment.rb to update it
/disk1/home/slugs/176479_b14df52_b875/mnt/.bundle/gems/gems/rack-1.1.0/lib/rack.rb:14: warning: already initialized constant VERSION
/disk1/home/slugs/176479_b14df52_b875/mnt/.bundle/gems/gems/mongo-0.20.1/lib/mongo/connection.rb:435:in `connect_to_master': failed to connect to any given host:port (Mongo::ConnectionFailure)
    from /disk1/home/slugs/176479_b14df52_b875/mnt/.bundle/gems/gems/mongo-0.20.1/lib/mongo/connection.rb:112:in `initialize'
    from /disk1/home/slugs/176479_b14df52_b875/mnt/.bundle/gems/gems/mongoid-2.0.0.beta4
/lib/mongoid/railtie.rb:32:in `new'
    from /disk1/home/slugs/176479_b14df52_b875/mnt/.bundle/gems/gems/mongoid-2.0.0.beta4/lib/mongoid/railtie.rb:32:in `block (2 levels) in <class:Railtie>'
    from /disk1/home/slugs/176479_b14df52_b875/mnt/.bundle/gems/gems/mongoid-2.0.0.beta4/lib/mongoid.rb:110:in `configure'
    from /disk1/home/slugs/176479_b14df52_b875/mnt/.bundle/gems/gems/mongoid-2.0.0.beta4/lib/mongoid/railtie.rb:21:in `block in <class:Railtie>'
    from /disk1/home/slugs/176479_b14df52_b875/mnt/.bundle/gems/gems/railties-3.0.0.beta3/lib/rails/initializable.rb:25:in `instance_exec'
.....

Alles funktioniert lokal, beide tests und app. Ich bin aus Ideen heraus... Irgendwelche Vorschläge?

PS: Jemand mit einem hohen repu Geist erzeugen die tag 'mongohq'?

InformationsquelleAutor der Frage oma | 2010-05-06

Schreibe einen Kommentar