Update code owner rules asynchronously for open merge requests after creating a protected branch
# Background When a new protected branch is created we perform a database query to find merge requests that are matching that protected branch: https://gitlab.com/gitlab-org/gitlab/-/blob/fadfc2095ab750efb5327cd64a2b53ac1aa7992f/ee/app/services/ee/protected_branches/create_service.rb#L36-38 - A query is performed to find merge requests that match the pattern of the protected branch. - Translating the wildcard pattern to a pattern that is usable in a database query is relatively straightforward - Translating a re2 regex to something usable in postgresql is going to be hard to do accurately # Proposal - To avoid the above difficulty we would instead enqueue jobs for each open merge request similar to how it is done for [scan result policies](https://gitlab.com/gitlab-org/gitlab/-/blob/fadfc2095ab750efb5327cd64a2b53ac1aa7992f/ee/app/services/security/security_orchestration_policies/base_merge_requests_service.rb#L10) [after a protected branch is created](https://gitlab.com/gitlab-org/gitlab/-/blob/fadfc2095ab750efb5327cd64a2b53ac1aa7992f/ee/app/services/ee/protected_branches/create_service.rb#L25). - Each job would then be able to compare the `target_branch` of the merge request with the re2 regex in ruby.
issue