debian-mirror-gitlab/app/workers/issuables/clear_groups_issue_counter_worker.rb

32 lines
636 B
Ruby
Raw Normal View History

2021-06-08 01:23:25 +05:30
# frozen_string_literal: true
module Issuables
class ClearGroupsIssueCounterWorker
include ApplicationWorker
2021-10-27 15:23:28 +05:30
data_consistency :always
2021-06-08 01:23:25 +05:30
idempotent!
urgency :low
2021-12-11 22:18:48 +05:30
feature_category :team_planning
2021-06-08 01:23:25 +05:30
def perform(group_ids = [])
return if group_ids.empty?
groups_with_ancestors = Gitlab::ObjectHierarchy
.new(Group.by_id(group_ids))
.base_and_ancestors
clear_cached_count(groups_with_ancestors)
end
private
def clear_cached_count(groups)
groups.each do |group|
Groups::OpenIssuesCountService.new(group).clear_all_cache_keys
end
end
end
end