capistrano reinicios secuenciales

Tengo capistrano configurado para implementar en tres servidores físicos. Me gustaría configurar la tarea de reinicio para ir secuencialmente a cada servidor y reiniciar la aplicación en lugar de la forma predeterminada de ir a todos los servidores a la vez.

Aquí está la tarea de implementación actual:

namespace :deploy do

  task :start, :roles => :app, :except => { :no_release => true } do 
    run "cd #{current_path} && bundle exec unicorn_rails -c #{current_path}/config/unicorn.rb -E #{rails_env} -D"
  end

  task :stop, :roles => :app, :except => { :no_release => true } do 
    run "kill `cat #{current_path}/tmp/pids/unicorn.pid`"
  end

  task :restart, :roles => :app, :except => { :no_release => true } do
    stop
    sleep(10)
    start
  end

end

Estoy pensando en algo como esto:

#this does not work 
task :sequential_restart do
   find_servers(:roles => :app).each
    restart
   end
 end

¿Algunas ideas

Respuestas a la pregunta(2)

Su respuesta a la pregunta