summaryrefslogtreecommitdiff
path: root/app/workers
diff options
context:
space:
mode:
authorHeinrich Lee Yu <heinrich@gitlab.com>2018-12-06 08:51:30 +0800
committerHeinrich Lee Yu <hleeyu@gmail.com>2019-01-07 11:16:58 +0800
commit3c026971149c95f076b8c50a52ddbfed139d5b20 (patch)
tree6bf0e1e8e28968887156dd524dc37e498229a9e6 /app/workers
parent876ab436fabf2f44e2a6912262f980256b7c9736 (diff)
downloadgitlab-ce-3c026971149c95f076b8c50a52ddbfed139d5b20.tar.gz
Import CSV Backend
Process CSV uploads async using a worker then email results
Diffstat (limited to 'app/workers')
-rw-r--r--app/workers/all_queues.yml1
-rw-r--r--app/workers/import_issues_csv_worker.rb16
2 files changed, 17 insertions, 0 deletions
diff --git a/app/workers/all_queues.yml b/app/workers/all_queues.yml
index d3cf21db335..223ddc80c88 100644
--- a/app/workers/all_queues.yml
+++ b/app/workers/all_queues.yml
@@ -140,3 +140,4 @@
- detect_repository_languages
- repository_cleanup
- delete_stored_files
+- import_issues_csv
diff --git a/app/workers/import_issues_csv_worker.rb b/app/workers/import_issues_csv_worker.rb
new file mode 100644
index 00000000000..5d8c02a0605
--- /dev/null
+++ b/app/workers/import_issues_csv_worker.rb
@@ -0,0 +1,16 @@
+# frozen_string_literal: true
+
+class ImportIssuesCsvWorker
+ include ApplicationWorker
+
+ 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)
+
+ importer = Issues::ImportCsvService.new(@user, @project, @upload)
+ importer.execute
+
+ @upload.destroy
+ end
+end