ruby on rails - ejemplos - ¿Cómo invoco una tarea de Capistrano desde otra?
schedule cron rails (5)
¿Cómo invoco una tarea de Capistrano desde otra?
Por ejemplo:
task :foo do
# stuff
end
task :bar do
# INVOKE :foo
end
Generalmente haces esto definiendo dependencias:
before :bar, :foo
Para el registro: en el Capistrano 3, use invoke()
, por ejemplo
desc "Task that does something"
task :do_something do
invoke ''namespace:task''
end
Más información en https://github.com/capistrano/capistrano#before--after
Puedes hacerlo usando namespace:
namespace :test do
task :one do
end
task :two do
test.one
#or just directly call it:
one
end
end
Solo tenga cuidado con el nombre que usa para no sobrescribir alguna función importante.
Si la tarea se encuentra en otro espacio de nombres, puede usar find_and_execute_task
en find_and_execute_task
lugar.
también podría usar Rake::Task["namespace:task"].invoke
, esto funciona