2016-10-31 7 views
0

В Sidekiq Pro, при нажатии на вкладку «Занят», работа выполняется около 2 месяцев или около того. Я не могу найти их при выполнении:Где находятся «занятые» задания в Sidekiq?

queue = Sidekiq::Queue.new("medium") 
queue.each do |job| 
    job.klass # => 'MyWorker' 
    job.args # => [1, 2, 3] 
    job.delete if job.jid == 'abcdef1234567890' 
end 

Это не похоже, это «занято» рабочих мест с использованием ресурсов или что-нибудь, но они продолжают показывать на вкладке «Занято». Где эта вкладка читает информацию?

ответ

1
w = Sidekiq::Workers.new 

https://github.com/mperham/sidekiq/wiki/API#workers

Semi-последние версии была утечка в этих данных. См. 4.1.2 и 4.1.3:

https://github.com/mperham/sidekiq/blob/master/Changes.md#413

+0

Спасибо! Это почти то, что мне нужно ... но я получаю хеши вместо объектов Sidekiq Job или что-то, что я могу назвать методами. Есть ли способ остановить работу здесь? Я имею в виду, что работы фактически хранятся в Redis, правильно? Как я могу остановить этот «process_ids»? Это вещь Редис? Еще раз спасибо за вашу помощь –

+1

«Работы» уже давно умерли. Данные просочились и не исчезнут. Прочтите журнал изменений для скрипта, который истечет. –