diff --git a/app/settings.rb b/app/settings.rb index 2819a794..f623e6cf 100644 --- a/app/settings.rb +++ b/app/settings.rb @@ -225,6 +225,7 @@ post '/settings/:username/custom_domain' do require_login require_ownership_for_settings + original_domain = @site.domain @site.domain = params[:domain] begin @@ -243,7 +244,11 @@ post '/settings/:username/custom_domain' do if @site.valid? @site.save_changes - LetsEncryptWorker.perform_async @site.id + + if @site.domain != original_domain + LetsEncryptWorker.perform_async @site.id + end + flash[:success] = 'The domain has been successfully updated.' redirect "/settings/#{@site.username}#custom_domain" else diff --git a/workers/lets_encrypt_worker.rb b/workers/lets_encrypt_worker.rb index f21af4bb..b16fef5a 100644 --- a/workers/lets_encrypt_worker.rb +++ b/workers/lets_encrypt_worker.rb @@ -11,7 +11,7 @@ class LetsEncryptWorker end # If you need to clear scheduled jobs: - # Sidekiq::ScheduledSet.new.select {|s| JSON.parse(s.value)['class'] == 'LetsEncryptWorker'}.length + # Sidekiq::ScheduledSet.new.select {|s| JSON.parse(s.value)['class'] == 'LetsEncryptWorker'}.each {|j| j.delete} def letsencrypt Acme::Client.new(