From 6e37fd7d259b17335efd84251b831de89d8a75d0 Mon Sep 17 00:00:00 2001 From: Kyle Drake Date: Fri, 13 Jan 2017 12:04:10 -0800 Subject: [PATCH] improve retry for let's encrypt --- workers/lets_encrypt_worker.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/workers/lets_encrypt_worker.rb b/workers/lets_encrypt_worker.rb index bdb4f4b3..f2d53770 100644 --- a/workers/lets_encrypt_worker.rb +++ b/workers/lets_encrypt_worker.rb @@ -4,10 +4,10 @@ class LetsEncryptWorker class InvalidAuthError < StandardError; end class VerifyNotFoundWithDomain < StandardError; end include Sidekiq::Worker - sidekiq_options queue: :lets_encrypt_worker, retry: 1, backtrace: true + sidekiq_options queue: :lets_encrypt_worker, retry: 10, backtrace: true sidekiq_retry_in do |count| - 1.hour.to_i + 5.minutes.to_i * count end # If you need to clear scheduled jobs: @@ -130,7 +130,7 @@ class LetsEncryptWorker end end - if verified_domains.empty? + if verified_domains.empty? || (site.created_at >= 2017 && !verified_domains.include?(domain_raw)) if @international_domain puts "still waiting on IDN support, ignoring failure for now" clean_wellknown_turds site @@ -160,6 +160,10 @@ class LetsEncryptWorker end clean_wellknown_turds site + + if site.domain_fail_count > 0 + LetsEncryptWorker.perform_in((5.minutes * site.domain_fail_count), site.id) + end return end