117 votes

Rails comment exécuter la tâche de râteau

Comment exécuter ce fichier rake dans le terminal/la console ?

mon statistik.rake dans lib/tasks

 desc "Importer statistikker"
namespace :reklamer do
  task :iqmedier => :environment do
    ...
  end
  task :euroads => :environment do
    ...
  end
  task :mikkelsen => :environment do
    ...
  end
  task :orville => :environment do
    ...
  end
end

163voto

Andrew Marshall Points 43955

Vous pouvez exécuter des tâches Rake depuis votre shell en exécutant :

 rake task_name

Pour exécuter à partir de Ruby (par exemple, dans la console Rails ou une autre tâche Rake):

 Rake::Task['task_name'].invoke

Pour exécuter plusieurs tâches dans le même espace de noms avec une seule tâche, créez la nouvelle tâche suivante dans votre espace de noms :

 task :runall => [:iqmedier, :euroads, :mikkelsen, :orville] do
  # This will run after all those tasks have run
end

30voto

lukewendling Points 959
Rake::Task['reklamer:orville'].invoke

ou alors

 Rake::Task['reklamer:orville'].invoke(args)

29voto

Arvind Mehra Points 410

Parfois, vos tâches de râteau ne sont pas chargées dans la console. Dans ce cas, vous pouvez essayer les commandes suivantes

 require "rake"
YourApp::Application.load_tasks
Rake::Task["Namespace:task"].invoke

24voto

CharlieMezak Points 3648

Avez-vous essayé rake reklamer:iqmedier ?

Mes tâches de râteau personnalisées se trouvent dans le répertoire lib, pas dans lib/tasks. Je ne sais pas si cela compte.

17voto

Ruto Collins Points 875

Si vous ne savez pas comment exécuter une tâche de râteau, découvrez d'abord quelles tâches vous avez et il répertoriera également les commandes pour exécuter les tâches.

Exécutez rake --tasks sur le terminal.

Il listera les tâches comme les suivantes :

 rake gobble:dev:prime             
rake gobble:dev:reset_number_of_kits                                    
rake gobble:dev:scrub_prod_data

Vous pouvez ensuite exécuter votre tâche avec : rake gobble:dev:prime comme indiqué.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X