Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/workers/project_export_worker.rb')
-rw-r--r--app/workers/project_export_worker.rb15
1 files changed, 13 insertions, 2 deletions
diff --git a/app/workers/project_export_worker.rb b/app/workers/project_export_worker.rb
index 4dd9a9c6fcb..e3f8c4bcd9d 100644
--- a/app/workers/project_export_worker.rb
+++ b/app/workers/project_export_worker.rb
@@ -24,8 +24,15 @@ class ProjectExportWorker # rubocop:disable Scalability/IdempotentWorker
::Projects::ImportExport::ExportService.new(project, current_user, params).execute(after_export)
export_job&.finish
- rescue ActiveRecord::RecordNotFound, Gitlab::ImportExport::AfterExportStrategyBuilder::StrategyNotFoundError => e
- logger.error("Failed to export project #{project_id}: #{e.message}")
+ rescue ActiveRecord::RecordNotFound => e
+ log_failure(project_id, e)
+ rescue Gitlab::ImportExport::AfterExportStrategyBuilder::StrategyNotFoundError => e
+ log_failure(project_id, e)
+ export_job&.finish
+ rescue StandardError => e
+ log_failure(project_id, e)
+ export_job&.fail_op
+ raise
end
private
@@ -35,4 +42,8 @@ class ProjectExportWorker # rubocop:disable Scalability/IdempotentWorker
Gitlab::ImportExport::AfterExportStrategyBuilder.build!(strategy_klass, after_export_strategy)
end
+
+ def log_failure(project_id, ex)
+ logger.error("Failed to export project #{project_id}: #{ex.message}")
+ end
end