J'ai une application Rails avec un démon qui vérifie la présence d'un nouveau message dans une boîte aux lettres. J'utilise le plugin Fetcher pour cette tâche. Le fichier démon ressemble à ceci:Rails Daemon reste en mode développement
#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../config/environment.rb'
class MailFetcherDaemon < Daemon::Base
@config = YAML.load_file("#{RAILS_ROOT}/config/mail.yml")
@config = @config['production'].to_options
@sleep_time = @config.delete(:sleep_time) || 20
def self.start
puts "Starting MailFetcherDaemon"
# Add your own receiver object below
@fetcher = Fetcher.create({:receiver => MailProcessor}.merge(@config))
...
donc je l'ai saisir les nouveaux e-mails, les analyser et de créer une ressource à partir des données analysées. Mais quand il essaie de sauvegarder la ressource, une exception est levée. En effet, le script est automatiquement affecté à l'environnement de développement. Donc, il utilise ma configuration de base de données de développement au lieu de l'environnement de production (qui est la configuration que je veux).
J'ai essayé de démarrer le script avec:
rails-root$ RAILS_ENV=production; script/mail_fetcher start
mais en vain. Il semble que lorsque je charge le fichier environment.rb, il utilise par défaut l'environnement de développement et charge le fichier development.rb ainsi que la configuration de la base de données de développement à partir de database.yml.
Pensées? Suggestions?
Merci
Ouais c'est la commande que je faisais, mais je l'avais en sténographie. J'ai mis à jour la question pour indiquer où j'exécutais la commande. – vrish88