summaryrefslogtreecommitdiff
path: root/app/workers/authorized_projects_worker.rb
diff options
context:
space:
mode:
authorConstance Okoghenun <cokoghenun@gitlab.com>2018-02-26 19:58:12 +0100
committerConstance Okoghenun <cokoghenun@gitlab.com>2018-02-26 19:58:12 +0100
commite7c8f8fb43d2d56c3db7cd09787f4c32077afc4a (patch)
treecb09b44b1795ff7018e9c854206e990037cf5e0e /app/workers/authorized_projects_worker.rb
parentde0aff845f47e5a8d34789c4dfc4c33586ae73dd (diff)
parent1041f5da8758a5e91b32656f53b6bcf1a3d03e68 (diff)
downloadgitlab-ce-e7c8f8fb43d2d56c3db7cd09787f4c32077afc4a.tar.gz
Merge branch 'master' of https://gitlab.com/gitlab-org/gitlab-ce into profile-bundle-tag-refactor
Diffstat (limited to 'app/workers/authorized_projects_worker.rb')
-rw-r--r--app/workers/authorized_projects_worker.rb36
1 files changed, 2 insertions, 34 deletions
diff --git a/app/workers/authorized_projects_worker.rb b/app/workers/authorized_projects_worker.rb
index 09559e3b696..d7e24491516 100644
--- a/app/workers/authorized_projects_worker.rb
+++ b/app/workers/authorized_projects_worker.rb
@@ -1,42 +1,10 @@
class AuthorizedProjectsWorker
include ApplicationWorker
+ prepend WaitableWorker
- # Schedules multiple jobs and waits for them to be completed.
- def self.bulk_perform_and_wait(args_list)
- # Short-circuit: it's more efficient to do small numbers of jobs inline
- return bulk_perform_inline(args_list) if args_list.size <= 3
-
- waiter = Gitlab::JobWaiter.new(args_list.size)
-
- # Point all the bulk jobs at the same JobWaiter. Converts, [[1], [2], [3]]
- # into [[1, "key"], [2, "key"], [3, "key"]]
- waiting_args_list = args_list.map { |args| [*args, waiter.key] }
- bulk_perform_async(waiting_args_list)
-
- waiter.wait
- end
-
- # Performs multiple jobs directly. Failed jobs will be put into sidekiq so
- # they can benefit from retries
- def self.bulk_perform_inline(args_list)
- failed = []
-
- args_list.each do |args|
- begin
- new.perform(*args)
- rescue
- failed << args
- end
- end
-
- bulk_perform_async(failed) if failed.present?
- end
-
- def perform(user_id, notify_key = nil)
+ def perform(user_id)
user = User.find_by(id: user_id)
user&.refresh_authorized_projects
- ensure
- Gitlab::JobWaiter.notify(notify_key, jid) if notify_key
end
end