diff options
author | Rémy Coutable <remy@rymai.me> | 2019-04-29 20:48:53 +0300 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2019-04-29 20:48:53 +0300 |
commit | 394c05d4d5e0073c11c0bb59ba81106f481475c1 (patch) | |
tree | dadc936e9ce29cf7ea05e2ff94b9bc7b17621c8a /app/services | |
parent | ca8e5aded8e5e63b97a511ca7e50cc981ac7c4dd (diff) | |
parent | 9bc3dfea4f365d5dc0b93a5fef0418dfad971361 (diff) |
Merge branch '59265-project-is-being-serialized-when-enqueueing-to-sidekiq' into 'master'
Resolve "Project is being serialized when enqueueing to sidekiq"
Closes #59265
See merge request gitlab-org/gitlab-ce!27825
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/todos/destroy/entity_leave_service.rb | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/app/services/todos/destroy/entity_leave_service.rb b/app/services/todos/destroy/entity_leave_service.rb index ebfb20132d0..4743e9b02ce 100644 --- a/app/services/todos/destroy/entity_leave_service.rb +++ b/app/services/todos/destroy/entity_leave_service.rb @@ -37,8 +37,8 @@ module Todos private def enqueue_private_features_worker - project_ids.each do |project_id| - TodosDestroyer::PrivateFeaturesWorker.perform_async(project_id, user.id) + projects.each do |project| + TodosDestroyer::PrivateFeaturesWorker.perform_async(project.id, user.id) end end @@ -62,9 +62,8 @@ module Todos end # rubocop: enable CodeReuse/ActiveRecord - override :project_ids # rubocop: disable CodeReuse/ActiveRecord - def project_ids + def projects condition = case entity when Project { id: entity.id } @@ -72,13 +71,13 @@ module Todos { namespace_id: non_member_groups } end - Project.where(condition).select(:id) + Project.where(condition) end # rubocop: enable CodeReuse/ActiveRecord # rubocop: disable CodeReuse/ActiveRecord def non_authorized_projects - project_ids.where('id NOT IN (?)', user.authorized_projects.select(:id)) + projects.where('id NOT IN (?)', user.authorized_projects.select(:id)) end # rubocop: enable CodeReuse/ActiveRecord @@ -110,7 +109,7 @@ module Todos authorized_reporter_projects = user .authorized_projects(Gitlab::Access::REPORTER).select(:id) - Issue.where(project_id: project_ids, confidential: true) + Issue.where(project_id: projects, confidential: true) .where('project_id NOT IN(?)', authorized_reporter_projects) .where('author_id != ?', user.id) .where('id NOT IN (?)', assigned_ids) |