Я наблюдаю то же самое. Если установить количество воркеров Puma равным 1, проблема исчезает. Похоже, что каждый воркер хранит копию объекта настроек сайта, и когда один воркер выполняет обновление, другие воркеры об этом не узнают.
К сожалению, эта проблема также присутствует в масштабируемой среде с несколькими серверами Discourse, поэтому простое установление количества воркеров в 1 не является полным решением.
Я пытаюсь заняться разработкой плагина, поэтому перешёл по ссылке в README, чтобы настроить среду разработки на Ubuntu. Когда я запускаю команду bundle exec rails server --binding=0.0.0.0, приложение запускается с помощью Puma.
Сервер всё ещё работает. Я проверил логи и убедился, что Discourse обрабатывает запрос. Также во время отладки я отключил кэш в консоли разработчика браузера.
Зачем вы масштабируете систему во время разработки плагинов?
Симптомы указывают на то, что ваш внутренний MessageBus не работает корректно, следовательно, проблема в настройке Redis. Живые обновления в браузере также могут быть неработоспособны.
Я не планировал масштабировать разработку плагинов, просто тестировал это в нескольких сценариях, чтобы сузить круг проблемы и убедиться, что я правильно её понимаю. Если MessageBus должен обрабатывать это, я изучу этот вопрос подробнее.
В процессе отладки я заметил, что app/models/site_setting.rb по-прежнему вызывает событие :site_setting_saved, которое, похоже, было удалено из приложения и заменено на :site_setting_changed. Теперь никто не слушает событие :site_setting_saved.