Я работаю над приложением, которое имеет модель настроек, которая используется для хранения пользовательских настроек конфигурации.Примером одного из этих значений может быть цитата, отображаемая в баннере на домашней странице, или электронное письмо, на которое отправляются счета.Когда эти значения изменяются, как мне убедиться, что каждый процесс Puma считывает обновленную конфигурацию в память?
В настоящее время настройки загружаются в память в инициализаторе Rails при загрузке сервера, но я бы хотелчтобы иметь возможность загружать их в память всякий раз, когда они обновляются, без перезапуска сервера.
Моей первой мыслью было сохранение в базе данных флага config_changed
, который можно проверять при каждом запросе, и еслифлаг равен true, перезагрузите настройки из базы данных, а затем установите флаг на false.Но я не уверен, как заставить это работать с несколькими процессами Puma.Поэтому я просто подумал, что поищу несколько предложений.