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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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