diff options
author | Tiago Botelho <tiagonbotelho@hotmail.com> | 2018-11-07 17:32:15 +0300 |
---|---|---|
committer | Tiago Botelho <tiagonbotelho@hotmail.com> | 2018-11-08 00:24:31 +0300 |
commit | 46b28842b6a05b0b398bdd75e82a00439ad404b0 (patch) | |
tree | dec67df07faa502c02395db11bc4e60bafe05d85 /app/models/project_import_state.rb | |
parent | 1183183403cadb465cfec52532cb77ad6a9494c9 (diff) |
StuckImportJobsWorker query performance optimization
Improves the performance of fetching the enqueued
projects for StuckImportJobsWorker, preventing a
statement timeout.
Diffstat (limited to 'app/models/project_import_state.rb')
-rw-r--r-- | app/models/project_import_state.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/app/models/project_import_state.rb b/app/models/project_import_state.rb index d59cb43dea4..7126bb66d80 100644 --- a/app/models/project_import_state.rb +++ b/app/models/project_import_state.rb @@ -56,4 +56,17 @@ class ProjectImportState < ActiveRecord::Base end end end + + def mark_as_failed(error_message) + original_errors = errors.dup + sanitized_message = Gitlab::UrlSanitizer.sanitize(error_message) + + fail_op + + update_column(:last_error, sanitized_message) + rescue ActiveRecord::ActiveRecordError => e + Rails.logger.error("Error setting import status to failed: #{e.message}. Original error: #{sanitized_message}") + ensure + @errors = original_errors + end end |