Если речь идет только о рельсовом приложении, то нужно заранее выполнить прекомпиляцию асетов, тогда процесс рестарта не должен занимать много времени. Так же многие сервера вроде unicorn или puma поддерживают режим плавного рестарта когда старые ворекры (которые находятся в простое) гасятся постепенно и заменяются на воркеры уже с новым кодом. Т.е. ваше приложение какое-то время будет работать одновреме6нно и в старом виде и в новом, соответственно нужно четко понимать, что оно так работать может. Например, миграции должны быть написаны так чтобы это было возможно и должны отработать перед рестаром.