Limpiar tarea cuando la combinación de múltiples tareas en Rake
-
10-10-2019 - |
Pregunta
Tengo una tarea de construcción de rake se define con las siguientes dependencias:
desc 'Builds the App'
task :rebuild_dev => ["solr:start", "db:drop", "db:create", "db:migrate", "spec", "solr:stop"]
La primera tarea "Solr: start" se inicia el servidor de indexación Solr. Ahora, si la generación falla (puede ser en las pruebas de especificaciones fallan), el "Solr: Parada" no se ejecuta la tarea. Y el servidor no se detiene.
¿Hay alguna manera de especificar una tarea de limpieza o una tarea que siempre se ejecuta incluso si una de las tareas dependientes fallan? En mi caso, para asegurar siempre que "Solr: Parada" se ejecuta ...
Solución
Sólo se necesita utilizar el sistema de asegurarse de Rubí
desc "Builds the App"
task :rebuild_dev do
begin
["solr:start", "db:drop", "db:create", "db:migrate", "spec"].each do |t|
Rake::Task[t].execute
end
ensure
Rake::Task["solr:stop"].execute
end
end
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow