summaryrefslogtreecommitdiff
path: root/app/workers/import_issues_csv_worker.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/workers/import_issues_csv_worker.rb')
-rw-r--r--app/workers/import_issues_csv_worker.rb13
1 files changed, 8 insertions, 5 deletions
diff --git a/app/workers/import_issues_csv_worker.rb b/app/workers/import_issues_csv_worker.rb
index c7b5f8cd0a7..521e5b8fbc2 100644
--- a/app/workers/import_issues_csv_worker.rb
+++ b/app/workers/import_issues_csv_worker.rb
@@ -3,6 +3,7 @@
class ImportIssuesCsvWorker # rubocop:disable Scalability/IdempotentWorker
include ApplicationWorker
+ idempotent!
feature_category :issue_tracking
worker_resource_boundary :cpu
weight 2
@@ -12,13 +13,15 @@ class ImportIssuesCsvWorker # rubocop:disable Scalability/IdempotentWorker
end
def perform(current_user_id, project_id, upload_id)
- @user = User.find(current_user_id)
- @project = Project.find(project_id)
- @upload = Upload.find(upload_id)
+ user = User.find(current_user_id)
+ project = Project.find(project_id)
+ upload = Upload.find(upload_id)
- importer = Issues::ImportCsvService.new(@user, @project, @upload.retrieve_uploader)
+ importer = Issues::ImportCsvService.new(user, project, upload.retrieve_uploader)
importer.execute
- @upload.destroy
+ upload.destroy
+ rescue ActiveRecord::RecordNotFound
+ # Resources have been removed, job should not be retried
end
end