summaryrefslogtreecommitdiff
path: root/app/workers/create_commit_signature_worker.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/workers/create_commit_signature_worker.rb')
-rw-r--r--app/workers/create_commit_signature_worker.rb13
1 files changed, 9 insertions, 4 deletions
diff --git a/app/workers/create_commit_signature_worker.rb b/app/workers/create_commit_signature_worker.rb
index 3da21c56eff..9cbc75f8944 100644
--- a/app/workers/create_commit_signature_worker.rb
+++ b/app/workers/create_commit_signature_worker.rb
@@ -21,14 +21,19 @@ class CreateCommitSignatureWorker # rubocop:disable Scalability/IdempotentWorker
return if commits.empty?
- # This calculates and caches the signature in the database
- commits.each do |commit|
+ # Instantiate commits first to lazily load the signatures
+ commits.map! do |commit|
case commit.signature_type
when :PGP
- Gitlab::Gpg::Commit.new(commit).signature
+ Gitlab::Gpg::Commit.new(commit)
when :X509
- Gitlab::X509::Commit.new(commit).signature
+ Gitlab::X509::Commit.new(commit)
end
+ end
+
+ # This calculates and caches the signature in the database
+ commits.each do |commit|
+ commit&.signature
rescue => e
Rails.logger.error("Failed to create signature for commit #{commit.id}. Error: #{e.message}") # rubocop:disable Gitlab/RailsLogger
end