From 8ed8a46046def125e48aa90b1f4bf343237a208f Mon Sep 17 00:00:00 2001 From: Stas Date: Mon, 25 Jan 2016 16:56:04 +0200 Subject: [PATCH] 111297422-que_jobs --- app/jobs/update_whois_record_job.rb | 10 ++++++++++ app/models/whois_record.rb | 2 +- lib/tasks/whois.rake | 4 ++++ 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 app/jobs/update_whois_record_job.rb diff --git a/app/jobs/update_whois_record_job.rb b/app/jobs/update_whois_record_job.rb new file mode 100644 index 000000000..39abeeb9c --- /dev/null +++ b/app/jobs/update_whois_record_job.rb @@ -0,0 +1,10 @@ +class UpdateWhoisRecordJob < Que::Job + def run(ids, type) + ids.each do |id| + record = WhoisRecord.find_by(id: id) + return unless record + + record.save + end + end +end \ No newline at end of file diff --git a/app/models/whois_record.rb b/app/models/whois_record.rb index 08d1cdf14..c16e5ce73 100644 --- a/app/models/whois_record.rb +++ b/app/models/whois_record.rb @@ -106,7 +106,7 @@ class WhoisRecord < ActiveRecord::Base self.json = generated_json self.body = generated_body self.name = json['name'] - self.registrar_id = domain.registrar_id # for faster registrar updates + self.registrar_id = domain.registrar_id if domain # for faster registrar updates end def update_whois_server diff --git a/lib/tasks/whois.rake b/lib/tasks/whois.rake index fd905e383..afd4cd62e 100644 --- a/lib/tasks/whois.rake +++ b/lib/tasks/whois.rake @@ -12,6 +12,10 @@ namespace :whois do puts(@i += 10000) GC.start end + + GC.start + UpdateWhoisRecordJob.enqueue WhoisRecord.find_each.map(&:id), 'domain' + end puts "\n-----> all done in #{(Time.zone.now.to_f - start).round(2)} seconds" end