Отлично, что исходящая почта приостанавливается при восстановлении резервной копии, а также отображается соответствующее уведомление на сайте, напоминающее администратору включить её.
Можно ли расширить эту функциональность, чтобы она также перехватывала опрос POP, на случай если он был настроен и начнёт получать сообщения?
Это было бы полезно в ситуациях, когда включены настройки «опрос POP3» и «удалять сообщения с сервера после опроса POP3».
Было бы отлично, если бы существовал режим «не обращаться к внешним сервисам», который отключает все внешние действия, оказывающие постоянное влияние на мир за пределами форума, такие как исходящие письма (кроме действительно необходимых), удаление сообщений с сервера по POP3 и запуск вебхуков.
Да, это своего рода «режим изоляции», который позволяет выполнить тестовое восстановление резервной копии (что является хорошей практикой, которую следует периодически применять) без риска воздействия на работающий экземпляр. Также при миграции можно запустить новый экземпляр и безопасно его проверить перед переключением (при условии, что исходный сайт находится в режиме только для чтения или отключен и т. д.).
Согласен. Режим «изоляции» был бы полезной функцией. Не только после восстановления.
На данный момент нечто подобное можно реализовать с помощью простого плагина. Что-то вроде следующего должно работать:
# name: isolation-mode
# about: Включает режим изоляции после восстановления резервной копии.
# version: 1.0
after_initialize do
on(:site_settings_restored) do
SiteSetting.pop3_polling_enabled = false
WebHook.update_all(active: false)
end
end
В качестве альтернативы вы также можете использовать CLI-команду discourse restore, а затем обновить настройки сайта и прочее с помощью rails runner.
Да, ничего не изменилось. Функции «режим изоляции» нет, поэтому отключение чего-либо, кроме исходящей почты, невозможно при восстановлении, так как нет способа уведомить администраторов и предоставить им простой вариант включения всего обратно.