Raise ScanProfileStatus UpdateWorker concurrency limit

What does this MR do and why?

This MR raises the concurrency_limit on Security::ScanProfileStatus::UpdateWorker from 20 to 200. The limit was added recently in a prior commit to protect against unbounded concurrent execution, but 20 is too low for the current volume of default-branch pipelines, so jobs queue up behind the limit instead of running promptly. The worker only proceeds when the pipeline is on the default branch, takes a per-project exclusive lease, and runs Security::ScanProfileStatus::UpdateService; if the lease is unavailable it reschedules itself in 10 seconds. Raising the ceiling to 200 increases throughput without removing those safeguards: the per-project lease and the defer_on_database_health_signal check on security_scan_profile_project_statuses still bound contention.

Changelog: changed
EE: true

How to set up and validate locally

  1. In a Rails console, confirm the new limit is in effect:

    Security::ScanProfileStatus::UpdateWorker.get_concurrency_limit
    # => 200
  2. Run the worker spec:

    bundle exec rspec ee/spec/workers/security/scan_profile_status/update_worker_spec.rb

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

🤖 Generated with Claude Code

Merge request reports

Loading
Loading