diff --git a/LICENSE b/LICENSE index c9ccc28c6..f63a98563 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -The MIT License (MIT) +The MIT/X11 License (MIT/X11) Copyright (c) 2014 Estonian Internet Foundation @@ -18,4 +18,8 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file +SOFTWARE. + +Except as contained in this notice, the name(s) of the above copyright holders +shall not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization. diff --git a/app/jobs/regenerate_registrar_whoises_job.rb b/app/jobs/regenerate_registrar_whoises_job.rb new file mode 100644 index 000000000..10e13a038 --- /dev/null +++ b/app/jobs/regenerate_registrar_whoises_job.rb @@ -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 \ No newline at end of file diff --git a/app/jobs/regenerate_whois_record_job.rb b/app/jobs/regenerate_whois_record_job.rb new file mode 100644 index 000000000..6d79e2ea5 --- /dev/null +++ b/app/jobs/regenerate_whois_record_job.rb @@ -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 \ No newline at end of file diff --git a/app/models/registrar.rb b/app/models/registrar.rb index 5afaad52e..003956f88 100644 --- a/app/models/registrar.rb +++ b/app/models/registrar.rb @@ -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