Class: BulkImports::Common::Pipelines::EntityFinisher

Inherits:
Object
  • Object
show all
Defined in:
lib/bulk_imports/common/pipelines/entity_finisher.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(context) ⇒ EntityFinisher

Returns a new instance of EntityFinisher.



11
12
13
14
15
# File 'lib/bulk_imports/common/pipelines/entity_finisher.rb', line 11

def initialize(context)
  @context = context
  @entity = @context.entity
  @trackers = @entity.trackers
end

Class Method Details

.file_extraction_pipeline?Boolean

Returns:

  • (Boolean)


7
8
9
# File 'lib/bulk_imports/common/pipelines/entity_finisher.rb', line 7

def self.file_extraction_pipeline?
  false
end

Instance Method Details

#runObject



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/bulk_imports/common/pipelines/entity_finisher.rb', line 17

def run
  return if entity.finished? || entity.failed?

  if all_other_trackers_failed?
    entity.fail_op!
  else
    entity.finish!
  end

  logger.info(
    bulk_import_id: entity.bulk_import_id,
    bulk_import_entity_id: entity.id,
    bulk_import_entity_type: entity.source_type,
    source_full_path: entity.source_full_path,
    pipeline_class: self.class.name,
    message: "Entity #{entity.status_name}",
    source_version: entity.bulk_import.source_version_info.to_s,
    importer: 'gitlab_migration'
  )

  ::BulkImports::FinishProjectImportWorker.perform_async(entity.project_id) if entity.project?
end