Я думаю, вы столкнулись с проблемой, которая была и у меня с «рабочим» — фактическая проблема заключалась в коде, а не в Sidekiq в любом случае, форме или форме.
В моем проблемном коде я просто бездумно загрузил кучу моделей с помощью большого, толстого, жадного запроса (сотни тысяч экземпляров).
Я довольно просто исправил свой рабочий/код. В моем случае я перевел свой вызов БД с all
на использование find_in_batches с меньшим количеством объектов, извлеченных для пакета.
Model.find_in_batches(100) do |record|
# ... I like find_in_batches better than find_each because you can use lower numbers for the batch size
# ... other programming stuff
Как только я это сделал, задание, которое через некоторое время привело бы к остановке Sidekiq (нехватка памяти на коробке), выполнялось с find_in_batches
в течение 5 месяцев, и мне даже не пришлось перезапускать Sidekiq ... Хорошо, возможно, я перезапустил Sidekiq. некоторые за последние 5 месяцев, когда я развернул или сделал техническое обслуживание :), но не из-за работника!
person
craig.kaminsky
schedule
12.05.2016