Module: Packages::ErrorHandling

Extended by:
ActiveSupport::Concern
Included in:
Debian::ProcessPackageFileWorker, Helm::ExtractionWorker, Nuget::ExtractionWorker, Rubygems::ExtractionWorker
Defined in:
app/workers/concerns/packages/error_handling.rb

Constant Summary collapse

DEFAULT_STATUS_MESSAGE =
'Unexpected error'
CONTROLLED_ERRORS =
[
  ArgumentError,
  ActiveRecord::RecordInvalid,
  ::Packages::Helm::ExtractFileMetadataService::ExtractionError,
  ::Packages::Nuget::ExtractMetadataFileService::ExtractionError,
  ::Packages::Nuget::UpdatePackageFromMetadataService::InvalidMetadataError,
  ::Packages::Nuget::UpdatePackageFromMetadataService::ZipError,
  ::Packages::Rubygems::ProcessGemService::ExtractionError,
  ::Packages::Rubygems::ProcessGemService::InvalidMetadataError
].freeze

Instance Method Summary collapse

Instance Method Details

#process_package_file_error(package_file:, exception:, extra_log_payload: {}) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
# File 'app/workers/concerns/packages/error_handling.rb', line 20

def process_package_file_error(package_file:, exception:, extra_log_payload: {})
  log_payload = {
    project_id: package_file.project_id,
    package_file_id: package_file.id
  }.merge(extra_log_payload)
  Gitlab::ErrorTracking.log_exception(exception, **log_payload)

  package_file.package.update_columns(
    status: :error,
    status_message: truncated_status_message(exception)
  )
end