Я использую Capistrano для обработки моего развертывания, и у меня есть две разные роли в моей настройке -: web и: обработка. Оба они имеют обычные задачи: развертывание, но задача перезапуска должна быть разной для двух типов серверов.
Итак, моя первая попытка была примерно такой:
task :restart, :roles => :web do
run "... web related restart stuff ..."
end
task :restart, :roles => :processing do
run "... processing related restart stuff ..."
end
Что не работает, потому что второе: restart (для: роль обработки) заменяет первое: restart (для: веб-роли) и: web: restart никогда не происходит.
Я быстро осмотрелся, чтобы увидеть, могу ли я писать условный код в зависимости от того, какая роль (или роли) может быть у сервера при выполнении задачи, но рядом с отсутствием документации для такого рода вещей. Любые идеи?