Class: MergeRequests::UnstickLockedMergeRequestsService
- Inherits:
-
Object
- Object
- MergeRequests::UnstickLockedMergeRequestsService
- Includes:
- BaseServiceUtility
- Defined in:
- app/services/merge_requests/unstick_locked_merge_requests_service.rb
Instance Method Summary collapse
Methods included from BaseServiceUtility
#deny_visibility_level, #event_service, #log_error, #log_info, #notification_service, #system_hook_service, #todo_service, #visibility_level
Methods included from Gitlab::Allowable
Instance Method Details
#execute ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'app/services/merge_requests/unstick_locked_merge_requests_service.rb', line 7 def execute Gitlab::MergeRequests::LockedSet.each_batch(100) do |batch| merge_requests = merge_requests_batch(batch) merge_requests_with_merge_jid = merge_requests.select { |mr| mr.locked? && mr.merge_jid.present? } merge_requests_without_merge_jid = merge_requests.select { |mr| mr.locked? && mr.merge_jid.blank? } unlocked_merge_requests = merge_requests.select { |mr| !mr.locked? } attempt_to_unstick_mrs_with_merge_jid(merge_requests_with_merge_jid) attempt_to_unstick_mrs_without_merge_jid(merge_requests_without_merge_jid) remove_from_locked_set(unlocked_merge_requests) end end |