Last active
June 3, 2019 18:49
-
-
Save spalenza/bbb500c811b96852daa6 to your computer and use it in GitHub Desktop.
Remove Resque Workers
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# busca as chaves de um processo específico | |
Resque.redis.keys('*.DailyReportCachedProcessor') | |
# => ["concurrent.count.DailyReportCachedProcessor", "concurrent.queue_availability.DailyReportCachedProcessor", "concurrent.queue.high.DailyReportCachedProcessor"] | |
# verifique quantos jobs dessse processo estao rodando no resque | |
# utilize a chave concurrent.count.* para setar | |
Resque.redis.set('concurrent.count.DailyReportCachedProcessor', 8) | |
# limpar a lista | |
Resque.redis.del('concurrent.queue.medium.WelshersReportCacherProcessor') | |
# Correção de valores com a quantidade de processos que está rodando no momento | |
def count_workers(current_worker) | |
workers = Resque::Worker.working.map do |worker| | |
job = worker.job | |
job && job.fetch('payload', {}).fetch('class', nil) | |
end | |
workers.inject(Hash.new(0)) { |h, e| h[e] += 1 ; h }.fetch(current_worker, 0) | |
end | |
c_workres = DinamicsProcessor.stats(:false).fetch(:identifiers).keys | |
c_workres.each do |worker| | |
Resque.redis.set("concurrent.count.#{worker}", count_workers(worker)) | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
key = 'queue:low' | |
members = Resque.redis.lrange(key, 0, -1).map { |v| JSON.parse(v) };nil | |
members.find_all { |i| i["class"] == "TrainingymPersonUpdater" }.size |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Resque::Job.destroy('medium', 'EndpointProcessor') | |
### Mata processos rodando | |
Resque::Worker.working.each do |worker| | |
job = worker.job | |
klass = job && job.fetch('payload', {}).fetch('class', nil) | |
if klass && klass == 'ReportProcessor' | |
worker.done_working | |
worker.unregister_worker | |
end | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ws = Resque.workers.find_all do |worker| | |
Time.current - worker.processing['run_at'].to_time > 300 | |
end | |
ws.each do |w| | |
w.done_working | |
w.unregister_worker | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#Limpando failed de uma determinada classe | |
cleaner = Resque::Plugins::ResqueCleaner.new | |
cleaner.clear {|j| j.klass?(‘InvoiceMicrosigaProcessor’)} | |
# Restry and Clear | |
cleaner = Resque::Plugins::ResqueCleaner.new | |
cleaner.requeue(true) {|j| j.klass?(WelshersReportCacherProcessor)} | |
#Sobrescrevendo limite | |
require ‘resque-cleaner’ | |
module Resque::Plugins | |
ResqueCleaner::Limiter.default_maximum = 100_000 | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ws = Resque.workers.find_all do |worker| | |
worker.id =~ /^ip-10-252-156-42/ | |
end | |
ws.each do |w| | |
w.done_working | |
w.unregister_worker | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
workers = Resque::Worker.working.map do |worker| | |
job = worker.job | |
job && job.fetch('payload', {}).fetch('class', nil) | |
end | |
workers.inject(Hash.new(0)) { |h, e| h[e] += 1 ; h } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
jobs_m = [ | |
/^smartsystem-jobs11/, | |
/^smartsystem-jobs12/, | |
/^smartsystem-jobs13/, | |
/^smartsystem-jobs14/, | |
] | |
ws = Resque.workers.find_all do |worker| | |
jobs_m.any? { |job| worker.id =~ job } | |
end | |
ws.each do |w| | |
w.done_working | |
w.unregister_worker | |
end | |
total_locations = Location.active.count | |
date = 1.day.ago.to_date.to_s | |
computed_location_ids = DailyReportCache.where(reference_date: date).pluck(:location_id) | |
Location.active.where.not(id: computed_location_ids).order(first_due_at: :desc).pluck(:id).each do |location_id| | |
Resque.enqueue( | |
Core::Smart::DailyReportCachedProcessor, | |
date.to_s, | |
total_locations, | |
location_id | |
) | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FinLocationProcessor.stats(:false) |
Author
spalenza
commented
Jul 12, 2018
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment