diff options
Diffstat (limited to 'app/workers/bulk_imports/entity_worker.rb')
-rw-r--r-- | app/workers/bulk_imports/entity_worker.rb | 45 |
1 files changed, 35 insertions, 10 deletions
diff --git a/app/workers/bulk_imports/entity_worker.rb b/app/workers/bulk_imports/entity_worker.rb index ada3210624c..d23d57c33ab 100644 --- a/app/workers/bulk_imports/entity_worker.rb +++ b/app/workers/bulk_imports/entity_worker.rb @@ -12,13 +12,18 @@ module BulkImports worker_has_external_dependencies! def perform(entity_id, current_stage = nil) + @entity = ::BulkImports::Entity.find(entity_id) + if stage_running?(entity_id, current_stage) logger.info( structured_payload( bulk_import_entity_id: entity_id, - bulk_import_id: bulk_import_id(entity_id), + bulk_import_id: entity.bulk_import_id, + bulk_import_entity_type: entity.source_type, + source_full_path: entity.source_full_path, current_stage: current_stage, message: 'Stage running', + source_version: source_version, importer: 'gitlab_migration' ) ) @@ -29,9 +34,12 @@ module BulkImports logger.info( structured_payload( bulk_import_entity_id: entity_id, - bulk_import_id: bulk_import_id(entity_id), + bulk_import_id: entity.bulk_import_id, + bulk_import_entity_type: entity.source_type, + source_full_path: entity.source_full_path, current_stage: current_stage, message: 'Stage starting', + source_version: source_version, importer: 'gitlab_migration' ) ) @@ -44,23 +52,34 @@ module BulkImports ) end rescue StandardError => e - logger.error( - structured_payload( + log_exception(e, + { bulk_import_entity_id: entity_id, - bulk_import_id: bulk_import_id(entity_id), + bulk_import_id: entity.bulk_import_id, + bulk_import_entity_type: entity.source_type, + source_full_path: entity.source_full_path, current_stage: current_stage, - message: e.message, + message: 'Entity failed', + source_version: source_version, importer: 'gitlab_migration' - ) + } ) Gitlab::ErrorTracking.track_exception( - e, bulk_import_entity_id: entity_id, bulk_import_id: bulk_import_id(entity_id), importer: 'gitlab_migration' + e, + bulk_import_entity_id: entity_id, + bulk_import_id: entity.bulk_import_id, + bulk_import_entity_type: entity.source_type, + source_full_path: entity.source_full_path, + source_version: source_version, + importer: 'gitlab_migration' ) end private + attr_reader :entity + def stage_running?(entity_id, stage) return unless stage @@ -71,12 +90,18 @@ module BulkImports BulkImports::Tracker.next_pipeline_trackers_for(entity_id).update(status_event: 'enqueue') end - def bulk_import_id(entity_id) - @bulk_import_id ||= Entity.find(entity_id).bulk_import_id + def source_version + entity.bulk_import.source_version_info.to_s end def logger @logger ||= Gitlab::Import::Logger.build end + + def log_exception(exception, payload) + Gitlab::ExceptionLogFormatter.format!(exception, payload) + + logger.error(structured_payload(payload)) + end end end |