За замовчуванням php artisan down створює файл у storage/framework - лише на тому сервері, де виконали команду. На п'яти серверах решта чотири продовжать приймати запити.
Драйвер на основі кешу:
APP_MAINTENANCE_DRIVER=cache
APP_MAINTENANCE_STORE=redis
Сховище має бути спільним для всіх серверів - тоді досить одного down.
Корисні опції:
php artisan down --secret="team-preview" --render="errors::503" --retry=60
--secret- команда відкриваєhttps://example.com/team-previewі бачить сайт через cookie обходу;--render- сторінку віддають до завантаження фреймворку, тож вона не впаде під часcomposer install;--retry- заголовокRetry-Afterдля клієнтів і пошукових ботів;--redirect=/- перенаправляти всі запити.
Черги: поки застосунок у режимі обслуговування, воркери не обробляють завдання - вони накопичуються й виконаються після up. Довге обслуговування - велика черга на виході; варто оцінити, чи витримають її воркери, і чи не застаріють завдання (листи «ваш код дійсний 10 хвилин»).
Планувальник теж не запускає завдання, окрім evenInMaintenanceMode().
Для деплою без простою режим обслуговування взагалі не потрібен - його залишають для робіт, що справді вимагають зупинки.
Докладніше в документації: Режим обслуговування на кількох серверах