У меня проблема с утечкой памяти моего рабочего Sidekiq при постановке на Heroku.
У нас нет этой проблемы на производстве, где мы запускаем:
ruby 1.9.3
рельсы 3.2.13
sidekiq 2.12.1
целлулоид 0.14.1
На стадии подготовки у нас есть ветка обновления:
рубин 2.0.0 рельсы 4.0.0 sidekiq 2.14.1 целлулоид 0.14.1
Используя журнал памяти Heroku, вы можете видеть, что со временем memory_cache продолжает увеличиваться.
Я примерно на 95% уверен, что это не наш код. Рабочий код тот же, и даже если вы удалите рабочий код и просто поставите в очередь рабочие процессы, которые только что прочитали из базы данных, произойдет утечка памяти. Я использую find_each, несмотря на то, что рабочий процесс извлекает только несколько записей (~ 10).
Любые советы или предложения о том, как отследить это дальше, будут полезны. Мой следующий шаг — создать пустой проект rails и приложение heroku, чтобы посмотреть, смогу ли я добиться утечки памяти.