2014-05-19 6 views
0

Je veux lancer une tâche de râteau, que j'ai écrit:DaemonKit ne peut pas charger le fichier config/environnement

namespace :collections do 
    desc "Send again collections notifications" 
    task :resend, [:account, :start_timestamp, :stop_timestamp] => [:environment] do |t, args| 
    # Code... 
    end 
end 

Mais j'obtiens l'erreur suivante lorsque vous tapez cette commande:

$ bundle exec rake collections:resend --trace 
** Invoke collections:resend (first_time) 
** Invoke environment (first_time) 
** Execute environment 
rake aborted! 
cannot load such file -- config/environment 
/Users/julien/.rvm/gems/ruby-1.9.3-p545/gems/daemon-kit-0.1.8.2/lib/daemon_kit/tasks/environment.rake:4:in `require' 
/Users/julien/.rvm/gems/ruby-1.9.3-p545/gems/daemon-kit-0.1.8.2/lib/daemon_kit/tasks/environment.rake:4:in `block in <top (required)>' 
/Users/julien/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/rake/task.rb:205:in `call' 
/Users/julien/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/rake/task.rb:205:in `block in execute' 
/Users/julien/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/rake/task.rb:200:in `each' 
/Users/julien/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/rake/task.rb:200:in `execute' 
/Users/julien/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/rake/task.rb:158:in `block in invoke_with_call_chain' 
/Users/julien/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize' 
/Users/julien/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/rake/task.rb:151:in `invoke_with_call_chain' 
/Users/julien/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/rake/task.rb:176:in `block in invoke_prerequisites' 
/Users/julien/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/rake/task.rb:174:in `each' 
/Users/julien/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/rake/task.rb:174:in `invoke_prerequisites' 
/Users/julien/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/rake/task.rb:157:in `block in invoke_with_call_chain' 
/Users/julien/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize' 
/Users/julien/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/rake/task.rb:151:in `invoke_with_call_chain' 
/Users/julien/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/rake/task.rb:144:in `invoke' 
/Users/julien/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/rake/application.rb:116:in `invoke_task' 
/Users/julien/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/rake/application.rb:94:in `block (2 levels) in top_level' 
/Users/julien/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/rake/application.rb:94:in `each' 
/Users/julien/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/rake/application.rb:94:in `block in top_level' 
/Users/julien/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling' 
/Users/julien/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/rake/application.rb:88:in `top_level' 
/Users/julien/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/rake/application.rb:66:in `block in run' 
/Users/julien/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling' 
/Users/julien/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/rake/application.rb:63:in `run' 
/Users/julien/.rvm/gems/[email protected]/gems/rake-0.9.2.2/bin/rake:32:in `<top (required)>' 
/Users/julien/.rvm/gems/ruby-1.9.3-p545/bin/rake:23:in `load' 
/Users/julien/.rvm/gems/ruby-1.9.3-p545/bin/rake:23:in `<main>' 
/Users/julien/.rvm/gems/ruby-1.9.3-p545/bin/ruby_executable_hooks:15:in `eval' 
/Users/julien/.rvm/gems/ruby-1.9.3-p545/bin/ruby_executable_hooks:15:in `<main>' 
Tasks: TOP => collections:resend => environment 

je peux Ne comprends pas l'erreur, étant donné que j'ai un fichier nommé config/environment.rb Je me demande si c'est à cause de DaemonKit ou non.

Répondre

0

Je finalement résolu en regardant à travers le code de DaemonKit et a changé ma tâche pour cela:

task :resend, [:account, :start_timestamp, :stop_timestamp] do |t, args| 
    DaemonKit::Application.running! 
    # Code 
end 

Et pour le faire fonctionner dans un environnement de production, vous devez ajouter la variable d'environnement DAEMON_ENV=production.

Questions connexes