Рельсы как запустить задачу рейка


Как запустить этот файл рейка в терминале / консоли?

мой статистик.грабли в lib/задачи

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
6 70

6 ответов:

вы не должны запускать задачи Rake в консоли Rails, а вместо этого в терминале/командной строке, запустив

rake task_name

Если вы действительно должны запустите задачу рейка в Ruby, вы должны быть в состоянии сделать:

Rake::Task['task_name'].invoke

но это обычно делается только в самой задаче грабли, чтобы запустить другой.

чтобы запустить несколько задач в одном пространстве имен с одной задачей, создайте следующую новую задачу в своем пространстве имен:

task :runall => [:iqmedier, :euroads, :mikkelsen, :orville ] do
  # This will run after all those tasks have run
end
Rake::Task['reklamer:orville'].invoke

или

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

ты пробовал rake reklamer:iqmedier ?

мои пользовательские задачи rake находятся в каталоге lib, а не в lib/tasks. Не уверен, что это имеет значение.

иногда ваши задачи rake не загружаются в консоль, в этом случае вы можете попробовать следующие команды

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

в rails 4.2 вышеуказанные методы не работали.

  1. перейти к терминалу.
  2. измените каталог на место, где находится ваш файл рейка.
  3. запустите rake task_name.
  4. в приведенном выше случае запустите rake iqmedier-будет выполняться только задача iqmedir.
  5. run rake euroads-будет выполняться только задача euroads.
  6. для выполнения всех задач в этом файле назначьте следующее внутри тот же файл и запустить грабли все

    task :all => [:iqmedier, :euroads, :mikkelsen, :orville ] do #This will print all the tasks o/p on the screen 
    end
    

вот очень хороший учебник по запуску грабли задач, которые я нашел полезным..

http://jasonseifer.com/2010/04/06/rake-tutorial