summaryrefslogtreecommitdiff
path: root/lib/gitlab/pages_transfer.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/pages_transfer.rb')
-rw-r--r--lib/gitlab/pages_transfer.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/gitlab/pages_transfer.rb b/lib/gitlab/pages_transfer.rb
index a70dc826f97..8ae0ec5a78a 100644
--- a/lib/gitlab/pages_transfer.rb
+++ b/lib/gitlab/pages_transfer.rb
@@ -1,7 +1,26 @@
# frozen_string_literal: true
+# To make a call happen in a new Sidekiq job, add `.async` before the call. For
+# instance:
+#
+# PagesTransfer.new.async.move_namespace(...)
+#
module Gitlab
class PagesTransfer < ProjectTransfer
+ class Async
+ METHODS = %w[move_namespace move_project rename_project rename_namespace].freeze
+
+ METHODS.each do |meth|
+ define_method meth do |*args|
+ PagesTransferWorker.perform_async(meth, args)
+ end
+ end
+ end
+
+ def async
+ @async ||= Async.new
+ end
+
def root_dir
Gitlab.config.pages.path
end