24 lines
800 B
Ruby
24 lines
800 B
Ruby
# frozen_string_literal: true
|
|
|
|
class PagesDomainSslRenewalCronWorker # rubocop:disable Scalability/IdempotentWorker
|
|
include ApplicationWorker
|
|
include CronjobQueue
|
|
|
|
feature_category :pages
|
|
|
|
def perform
|
|
return unless ::Gitlab::LetsEncrypt.enabled?
|
|
|
|
PagesDomain.need_auto_ssl_renewal.with_logging_info.find_each do |domain|
|
|
# Ideally that should be handled in PagesDomain.need_auto_ssl_renewal scope
|
|
# but it's hard to make scope work with feature flags
|
|
# once we remove feature flag we can modify scope to implement this behaviour
|
|
next if Feature.enabled?(:pages_letsencrypt_errors, domain.project) && domain.auto_ssl_failed
|
|
|
|
with_context(project: domain.project) do
|
|
PagesDomainSslRenewalWorker.perform_async(domain.id)
|
|
end
|
|
end
|
|
end
|
|
end
|