Итак, вот моя проблема. У меня есть требование по сути засевать продакшн-инстанс Discourse примерно 200 постами за раз через действие администратора плагина. Эти посты будут «созданы» одним из 10 обычных пользователей. Причина, по которой это действие плагина, заключается в том, что пользователи этого конкретного инстанса имеют команду модераторов, которых они хотят обучить, и хотели бы иметь тестовые посты для их обучения, а также возможность создавать новые посты по мере необходимости.
У меня это работало отлично, когда я передавал skip_validations: true в PostCreator.new, однако теперь появилось требование, чтобы некоторые из созданных постов также помечались.
Я использую PostActionCreator.create для пометки некоторых из этих постов, но теперь натыкаюсь на ограничитель частоты запросов (rate limiter) здесь: discourse/lib/post_action_creator.rb at ad7a13921f2af8c792530c84386b64911c8e7ea2 · discourse/discourse · GitHub
Сначала я попытался отключить RateLimiter, но это приводило к падению процесса сервера в конечном итоге, возможно, когда я пытался снова включить его, и тогда я понял, что это, вероятно, вообще не хорошая идея.
Так что мой вопрос: есть ли лучший способ обойти ограничитель частоты запросов при выполнении произвольного кода, то есть что-то вроде:
RateLimiter.bypass do
# запуск кода, на который не влияет ограничитель частоты запросов
end
Или мне просто нужно скопировать большую часть того, что делает PostActionCreator, но исключить проблемную строку?
Любая помощь будет очень ценна! Я все еще изучаю код Discourse, поэтому понимаю, что, вероятно, упустил что-то, что могло бы значительно упростить эту задачу!