From 678852091b36f4563ac22b38d97f4964ec661e7a Mon Sep 17 00:00:00 2001 From: Vladimir Krylov Date: Thu, 7 Jan 2016 15:29:25 +0200 Subject: [PATCH 1/2] Stroy#110392672 - Contact domains update should be async --- app/jobs/regenerate_registrar_whoises_job.rb | 2 +- app/jobs/regenerate_whois_record_job.rb | 4 ++-- app/models/contact.rb | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/jobs/regenerate_registrar_whoises_job.rb b/app/jobs/regenerate_registrar_whoises_job.rb index 10e13a038..68a76c8d3 100644 --- a/app/jobs/regenerate_registrar_whoises_job.rb +++ b/app/jobs/regenerate_registrar_whoises_job.rb @@ -4,7 +4,7 @@ class RegenerateRegistrarWhoisesJob < Que::Job registrar = Registrar.find(registrar_id) registrar.whois_records.select(:id).find_in_batches(batch_size: 20) do |group| - RegenerateWhoisRecordJob.enqueue group.map(&:id) + RegenerateWhoisRecordJob.enqueue group.map(&:id), :id end end end \ No newline at end of file diff --git a/app/jobs/regenerate_whois_record_job.rb b/app/jobs/regenerate_whois_record_job.rb index 6d79e2ea5..051247b7f 100644 --- a/app/jobs/regenerate_whois_record_job.rb +++ b/app/jobs/regenerate_whois_record_job.rb @@ -1,7 +1,7 @@ class RegenerateWhoisRecordJob < Que::Job - def run(ids) + def run(ids, attr = :id) ids.each do |id| - record = WhoisRecord.find_by(id: id) + record = WhoisRecord.find_by(attr => id) return unless record record.save diff --git a/app/models/contact.rb b/app/models/contact.rb index ccc44851d..39672e2c4 100644 --- a/app/models/contact.rb +++ b/app/models/contact.rb @@ -498,7 +498,7 @@ class Contact < ActiveRecord::Base end def update_related_whois_records - related_domain_descriptions.each{ |x, y| WhoisRecord.find_by(name: x).try(:save) } + RegenerateWhoisRecordJob.enqueue related_domain_descriptions.keys, :name end end From 769e3f1a1f2db1e1e555b8dd5fc49184acf41791 Mon Sep 17 00:00:00 2001 From: Vladimir Krylov Date: Mon, 15 Feb 2016 10:55:47 +0200 Subject: [PATCH 2/2] Story#110392672 - do not run RegenerateWhoisRecordJob on empty domains --- app/models/contact.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/models/contact.rb b/app/models/contact.rb index 3af8dcd0e..aa3819850 100644 --- a/app/models/contact.rb +++ b/app/models/contact.rb @@ -499,7 +499,8 @@ class Contact < ActiveRecord::Base end def update_related_whois_records - RegenerateWhoisRecordJob.enqueue related_domain_descriptions.keys, :name + ids = related_domain_descriptions.keys + RegenerateWhoisRecordJob.enqueue(ids, :name) if ids.present? end end