Рельсы как запустить задачу рейка
Как запустить этот файл рейка в терминале / консоли?
мой статистик.грабли в 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 ответов:
вы не должны запускать задачи 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 reklamer:iqmedier
?мои пользовательские задачи rake находятся в каталоге lib, а не в lib/tasks. Не уверен, что это имеет значение.
иногда ваши задачи rake не загружаются в консоль, в этом случае вы можете попробовать следующие команды
require "rake" YourApp::Application.load_tasks Rake::Task['Namespace:task'].invoke
в rails 4.2 вышеуказанные методы не работали.
- перейти к терминалу.
- измените каталог на место, где находится ваш файл рейка.
- запустите rake task_name.
- в приведенном выше случае запустите rake iqmedier-будет выполняться только задача iqmedir.
- run rake euroads-будет выполняться только задача euroads.
для выполнения всех задач в этом файле назначьте следующее внутри тот же файл и запустить грабли все
task :all => [:iqmedier, :euroads, :mikkelsen, :orville ] do #This will print all the tasks o/p on the screen end