mirror of
https://github.com/internetee/registry.git
synced 2025-08-03 16:32:04 +02:00
Story#105664240 Regenerate registrar whois records async
This commit is contained in:
parent
a3272fab43
commit
69a9a11588
3 changed files with 22 additions and 2 deletions
10
app/jobs/regenerate_registrar_whoises_job.rb
Normal file
10
app/jobs/regenerate_registrar_whoises_job.rb
Normal file
|
@ -0,0 +1,10 @@
|
|||
class RegenerateRegistrarWhoisesJob < Que::Job
|
||||
def run(registrar_id)
|
||||
# no return as we want restart job if fails
|
||||
registrar = Registrar.find(registrar_id)
|
||||
|
||||
registrar.whois_records.select(:id).find_in_batches(batch_size: 20) do |group|
|
||||
RegenerateWhoisRecordJob.enqueue group.map(&:id)
|
||||
end
|
||||
end
|
||||
end
|
10
app/jobs/regenerate_whois_record_job.rb
Normal file
10
app/jobs/regenerate_whois_record_job.rb
Normal file
|
@ -0,0 +1,10 @@
|
|||
class RegenerateWhoisRecordJob < Que::Job
|
||||
def run(ids)
|
||||
ids.each do |id|
|
||||
record = WhoisRecord.find_by(id: id)
|
||||
return unless record
|
||||
|
||||
record.save
|
||||
end
|
||||
end
|
||||
end
|
|
@ -51,10 +51,10 @@ class Registrar < ActiveRecord::Base
|
|||
|
||||
WHOIS_TRIGGERS = %w(name email phone street city state zip)
|
||||
|
||||
after_save :update_whois_records
|
||||
after_commit :update_whois_records
|
||||
def update_whois_records
|
||||
return true unless changed? && (changes.keys & WHOIS_TRIGGERS).present?
|
||||
whois_records.map(&:save) # slow currently
|
||||
RegenerateRegistrarWhoisesJob.enqueue id
|
||||
end
|
||||
|
||||
after_create :create_cash_account
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue