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 ...

¿Fue útil?

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
scroll top