2013-04-11 5 views
0

J'ai un fichier test.yaml dans le répertoire/opt dans Ubuntu dans lequel j'ai mes paramètres db et je reçois ce fichier dans environment.rb comme indiquéinstance de classe dans le fichier YAML

require File.expand_path('../application', __FILE__) 
class Settings 
raw_config = File.read("/opt/test.yml") 
erb_config = ERB.new(raw_config).result 
settings = YAML.load(erb_config)[::Rails.env] 
if settings 
    settings.each do |name, value| 
    puts "checking array" , name, value 
    instance_variable_set("@#{name}", value) 
    self.class.class_eval { attr_reader name.intern } 
end 
end 
end 

maintenant à MongoId. fichier YML Je veux utiliser cette classe comme indiqué dans le code

development: 
sessions: 
    default: 
    hosts: 
    -Settings.sessions["default"]["hosts"] 
    username: ve 
    password: "123456" 
    database: weather 

mais obtenir cette erreur comme vélomoteurs :: erreurs :: ConnectionFailure (Impossible de se connecter à tous les nœuds secondaires ou primaires pour jeu de réplicas]>):

Je suis un gars nouveau et coincé là. Toute aide sera très appréciée. Merci

Répondre

0

Théorie:

La clé est de supprimer le fichier mongod.lock et recommencer service MongoDB. Le fichier de verrouillage dans Ubuntu est situé au /var/lib/mongod.lock.

Détails:

Je recevais la même erreur sous Ubuntu, c'est ce que je faisais:

errante @ lucid32: ~ $ sudo service MongoDB redémarrer
restart: instance inconnue :

errante @ lucid32: ~ $ sudo rm /var/lib/mongod.lock

errante @ lucid32: ~ $ sudo service MongoDB départ
MongoDB start/en cours d'exécution, le processus 2340

errante @ lucid32: ~ $ sudo service MongoDB redémarrer
MongoDB start/en cours d'exécution, le processus 2368

Questions connexes