diff options
author | James Lopez <james@jameslopez.es> | 2016-05-04 11:05:21 +0200 |
---|---|---|
committer | James Lopez <james@jameslopez.es> | 2016-05-04 11:05:21 +0200 |
commit | 6cf88ce4808b78aca6a225272e105ebce88a1d76 (patch) | |
tree | 7a5875c6e80f597314ee879da5786c8092291546 /app | |
parent | bd2ebf37e6c5aa07f8d29f4ac8c88fc8333a2297 (diff) | |
parent | 1ff7735906811ceb0e598dca4607b11cfaa9e8d3 (diff) | |
download | gitlab-ce-6cf88ce4808b78aca6a225272e105ebce88a1d76.tar.gz |
Merge branches 'feature/project-export-ui-experimental' and 'feature/project-import' of gitlab.com:gitlab-org/gitlab-ce into feature/project-export-ui-experimental
Diffstat (limited to 'app')
-rw-r--r-- | app/models/project.rb | 10 | ||||
-rw-r--r-- | app/workers/project_export_worker.rb | 13 | ||||
-rw-r--r-- | app/workers/project_import_worker.rb | 2 |
3 files changed, 24 insertions, 1 deletions
diff --git a/app/models/project.rb b/app/models/project.rb index 3e782be637e..0b5e72152cb 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -1044,4 +1044,14 @@ class Project < ActiveRecord::Base def wiki @wiki ||= ProjectWiki.new(self, self.owner) end + + def add_export_job(current_user_id:) + job_id = ProjectExportWorker.perform_async(current_user_id, self.id) + + if job_id + Rails.logger.info "Export job started for project ID #{self.id} with job ID #{job_id}" + else + Rails.logger.error "Export job failed to start for project ID #{self.id}" + end + end end diff --git a/app/workers/project_export_worker.rb b/app/workers/project_export_worker.rb new file mode 100644 index 00000000000..a1add5395b7 --- /dev/null +++ b/app/workers/project_export_worker.rb @@ -0,0 +1,13 @@ +class ProjectExportWorker + include Sidekiq::Worker + + # TODO: enabled retry - disabled for QA purposes + sidekiq_options queue: :gitlab_shell, retry: false + + def perform(current_user_id, project_id) + current_user = User.find(current_user_id) + project = Project.find(project_id) + ::Projects::ImportExport::ExportService.new(project, current_user).execute + # TODO : Handle errors + end +end diff --git a/app/workers/project_import_worker.rb b/app/workers/project_import_worker.rb index 0e8b9552442..aaa59f79d7f 100644 --- a/app/workers/project_import_worker.rb +++ b/app/workers/project_import_worker.rb @@ -1,7 +1,7 @@ class ProjectImportWorker include Sidekiq::Worker - include Gitlab::ShellAdapter + # TODO: enabled retry - disabled for QA purposes sidekiq_options queue: :gitlab_shell, retry: false def perform(current_user_id, tmp_file, namespace_id, path) |