Domanda

Ho un'applicazione Rails installato su un server che esegue Slicehost Apache 2 e Ubuntu 10.04 LTC. Le cose hanno funzionato splendidamente fino ad ora: ho modificare un file, fare un rapido mongrel_rails cluster::restart, e le modifiche vengono riflesse nella produzione. Tuttavia, improvvisamente questo processo è in panne.

Per esempio, ho una classe chiamata Master situato in /lib/master.rb. Ho aggiunto un nuovo metodo per questa classe che viene eseguito semplicemente puts "it works!", quindi riavviato il cluster bastardo. Guardando i registri di produzione, il server genera un errore e pensa che questo metodo non esiste. Quando vado alla console utilizzando ruby script/console production, tuttavia, posso utilizzare questo nuovo metodo perfettamente. Ho anche provato a cancellare il file che contiene tutta la classe Master. Ancora una volta, la produzione ha pensato che fosse ancora lì, ma la console di produzione riconosciuto correttamente che mancava.

Tutte le idee? Come può l'ambiente di produzione di rilevare una classe che non ha nemmeno esiste più?

È stato utile?

Soluzione

divertente, ho trascorrere 2 ore di debug questo, poi posta a StackOverflow e la figura fuori in 20 minuti.

Il problema è che avevo bisogno di riavviare anche i miei processi in background pure. Correvano la vecchia versione delle classi memorizzate in lib /. E 'interessante che questo problema non mi ha mai portato a casa prima.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top