Привет! Во-первых, огромное спасибо за новый административный интерфейс опроса RSS. Это действительно меняет всё!
У нас есть сайт с десятками RSS-лент. Я заметил в Sidekiq, что некоторые задания для отдельных лент могут занимать двадцать минут и более. Из-за этого очередь легко забивается.
Есть настройка RSS polling feed request timeout, но дело не в ней. Сама RSS-лента доступна быстро и загружается оперативно (по крайней мере, когда я пробую открыть её в браузере в тот момент, когда Sidekiq испытывает трудности с той же лентой). Проблема, похоже, в том, что некоторые RSS-ленты содержат все эпизоды подкаста (а не только 10–15 последних), и Discourse, судя по всему, обрабатывает все эти записи, даже если эпизоды уже скачаны и не изменились. По сути, Sidekiq может быть загружен наполовину или более из-за RSS-лент, которые не приносят никаких изменений и не содержат новых эпизодов.
В идеале Discourse должен быстро определять отсутствие изменений и переходить к следующему.
Опционально, можно было бы добавить настройку, ограничивающую чтение первыми NN записями ленты.
Или, как минимум, установить временной лимит для завершения опроса, если он не завершится за NN минут (5 минут, или максимум 10).
Мне интересно, что именно происходит, когда обработка ленты занимает более 10 минут, а Sidekiq загружен на 100%. Что именно может занимать столько времени и быть таким тяжёлым в обработке?
Как вы думаете, можно ли улучшить это в текущем плагине?


