Как обновленный ответ, для Capistrano 3, работающего на Passenger, вот что я сейчас делаю:
task :restart do
on roles(:app), in: :sequence, wait: 5 do
# If your tmp folder does not exist yet, uncomment the
# line below to create it.
# execute :mkdir, "#{File.join(current_path,'tmp')}"
execute :touch, "#{File.join(current_path,'tmp','restart.txt')}"
end
end