Я использую capistrano для развертывания приложения rails.
У меня проблема с выполнением проверки на ВСЕХ хостах, а затем с определением, должна ли задача запускаться на ВСЕХ хостах, если ЛЮБОЙ из них провалит проверку,Проверка может, например, искать файл:
desc "Make sure file is on all servers"
task :do_something do
on roles(:app) do
unless test("[ -f /some_dir/the_file.txt ]")
# Run something on ALL servers if missing on just one of them...
end
end
end
end
Я также подумал, можно ли это как-то сделать, сначала запустив одну задачу на всех серверах и объединив результат этих задач, а затем во вторую задачузапустите его, если на выходе первого файла не было ни на одном из серверов.