Skip to content

Refactor `UpdateMaxSeatsUsedForGitlabComSubscriptionsWorkers` worker for efficiency and scalability

Summary

In gitlab-com/gl-infra/scalability#1116 ~"team::Scalability" researched Fulfillment related workers which add to a costly error budget.

As a result, it was identified that UpdateMaxSeatsUsedForGitlabComSubscriptionsWorkers is slow is because it iterates all subscriptions in a single job.

A recommendation for a potential refactoring was made:

Perhaps a continues approach that uses a LimitedCapacity::Worker that handles one subscription at a time when it was last updated > 24 hours ago.

Full details of the research/discussion can be found here: gitlab-com/gl-infra/scalability#1116 (comment 615298433)