Я провожу тестирование импорта из другого программного обеспечения с большой доской (~10 миллионов сообщений) и заметил, что во время процесса импорта появляется другой процесс Ruby, который, похоже, является Sidekiq, накапливающим огромное количество процессов в очереди (Sidekiq показывает более 100 000 процессов в очереди). Есть ли лучший способ справиться с этим? Возможно ли (или рекомендуется ли) отключить Sidekiq во время выполнения крупного импорта? Если да, то как это сделать?
Вы можете отключить настройку сайта discourse narrative bot enabled, чтобы прекратить создание этого сообщения для каждого нового пользователя, но большинство таких задач необходимо выполнять. Здесь есть темы об увеличении количества задач Sidekiq для более быстрой обработки очереди.
Хорошо, звучит разумно. Думаю, добавление ещё одного воркера Sidekiq могло бы помочь. Я, вероятно, также отключу эту настройку, как вы и предлагали, по крайней мере для импорта, хотя это касается только пользователей. Моя главная проблема — обработка, которая требуется для миллионов постов.
Я нашёл эту тему о том, как настроить количество воркеров Sidekiq: Imported users not receiving verification emails due to massive Sidekiq backlog - #10 by gerhard
Спасибо!
Миграции не отключают discobot во время миграции? Это довольно удивительно.