После недавней пересборки Discourse (самостоятельно размещённой) я постоянно сталкиваюсь с ограничением скорости для пользователей при просмотре основной версии Full Calendar 6, даже несмотря на очень низкую активность на моём сайте (1–2 одновременных пользователя). Это поведение появилось после двух последних пересборок.
Моя конфигурация ограничений скорости (как установлено в app.yml):
DISCOURSE_MAX_ADMIN_API_REQS_PER_MINUTE: 4x по умолчанию
DISCOURSE_MAX_REQS_PER_MINUTE: 4x по умолчанию
DISCOURSE_MAX_REQS_PER_DAY: 4x по умолчанию
Ограничение скорости на IP-адрес не указано.
Наблюдения
В /logs ошибок не отображается.
Обратный прокси не используется (стандартный контейнер Let’s Encrypt и A-запись домена).
Неожиданное ограничение скорости срабатывает только при просмотре календаря.
Активность пользователей не менялась.
Все плагины и компоненты темы являются официальными.
Проблема возникла только после недавней пересборки Discourse и сохраняется после пересборки, выполненной сегодня вечером.
Администрирование > Журналы в момент инцидента чисты.
Предпринятые шаги по устранению неполадок
Подтверждено, что пользовательские настройки ограничения скорости присутствуют и значительно превышают значения по умолчанию.
Протестировано несколько браузеров, очищены кэши.
Темы на meta.discourse.org предполагают, что после обновлений могут существовать дополнительные внутренние ограничения скорости, не задокументированные явно, которые переопределяют пользовательские значения.
Подтвердите, существуют ли новые или скрытые ограничители скорости, которые могут влиять на фоновые запросы или запросы, генерируемые плагинами, после недавнего обновления/пересборки, и если да, опишите, как их переопределить или настроить.
Объясните, почему мои высокие пользовательские ограничения скорости не соблюдаются при просмотре календаря.
Предложите дальнейшие шаги по устранению неполадок или изменения конфигурации, если они необходимы.
Похоже, это может быть связано с Re-add full ics export - #9 by kelv, так как отображается 100 событий, а примерно через 2 минуты появляется ещё одна большая порция, причём они показываются не постепенно, а крупными пакетами.
Редакция: Такое поведение с ограничением частоты запросов пока приемлемо, но становится заметным при переходе далеко вперёд: я вижу все события своей текущей недели и все события следующей недели, но если я перехожу к следующей неделе, то натыкаюсь на жёсткий лимит.
Я также должен уточнить, что до того, как я настроил пользовательские ограничения скорости API, предстоящие события в полном календаре v6 не были ограничены в такой степени. Эти настройки в app.yml не изменили ограничение скорости, видимое в FullCalendar
Много, я думаю, что MAX_RESULTS превысил свой лимит после 27 сентября. Мне приходится обновлять Full Calendar каждый раз, когда я просматриваю свои события.
Я не думаю, что речь идёт об этом виде ограничения скорости. Когда я упоминал настройки ограничения скорости API, я имел в виду, что мой Discourse настроен на обработку множества тем событий, но представление FullCalendar работает не так хорошо, как до объединения кода.
Извините за путаницу.
Редактирование: я обновил исходный пост, чтобы отразить отсутствие ошибок 429.
Я использую последние версии. С точки зрения интерфейса эта проблема решилась сама собой за ночь. Я обновился вчера вечером, но проблема не исчезла сразу. Общее количество прошедших событий составляет около 270. Теперь я снова перешёл на использование PWA…
Мой экземпляр Discourse обновлён до версии с меткой tests-passed. Вчера от одного из пользователей моего экземпляра поступил отчёт о том, что в представлении «Неделя» на будущее не загружаются все события. Заметив, что эта ошибка перестала влиять на интерфейс представления «Текущая неделя», я попытался найти её причину на своём ноутбуке. Ниже приведено видео с воспроизведением проблемы:
То же самое «отсутствие событий» в будущей неделе можно воспроизвести и на моём смартфоне.
Через минуту после открытия Discourse в консоли браузера появляется эта ошибка. Похоже, она не влияет на мою страницу предстоящих событий. Обновление страницы предстоящих событий не воспроизводит ошибку; ошибка была обнаружена при загрузке главной страницы.