Class: Packages::Rubygems::ExtractionWorker

Inherits:
Object
  • Object
show all
Includes:
ApplicationWorker
Defined in:
app/workers/packages/rubygems/extraction_worker.rb

Overview

rubocop:disable Scalability/IdempotentWorker

Constant Summary

Constants included from ApplicationWorker

ApplicationWorker::LOGGING_EXTRA_KEY, ApplicationWorker::SAFE_PUSH_BULK_LIMIT

Constants included from WorkerAttributes

WorkerAttributes::DEFAULT_DATA_CONSISTENCY, WorkerAttributes::NAMESPACE_WEIGHTS, WorkerAttributes::VALID_DATA_CONSISTENCIES, WorkerAttributes::VALID_RESOURCE_BOUNDARIES, WorkerAttributes::VALID_URGENCIES

Instance Method Summary collapse

Methods included from Gitlab::SidekiqVersioning::Worker

#job_version

Methods included from WorkerContext

#with_context

Instance Method Details

#perform(package_file_id) ⇒ Object


16
17
18
19
20
21
22
23
24
25
26
# File 'app/workers/packages/rubygems/extraction_worker.rb', line 16

def perform(package_file_id)
  package_file = ::Packages::PackageFile.find_by_id(package_file_id)

  return unless package_file

  ::Packages::Rubygems::ProcessGemService.new(package_file).execute

rescue StandardError => e
  Gitlab::ErrorTracking.log_exception(e, project_id: package_file.project_id)
  package_file.package.update_column(:status, :error)
end