• Mike Kozono's avatar
    Deduplicate Geo cronjobs · fee9723c
    Mike Kozono authored
    The default deduplication setting is `:until_executing`. For cronjobs
    which are enqueued every minute, we can confidently take it a bit further
    and use `:until_executed`.
    
    This should be slightly more efficient, and it should help some edge
    cases like https://gitlab.com/gitlab-org/gitlab/-/issues/328057.
    
    The modified classes are inherited in the following class files, as shown in
    grep output:
    
    ```
    ./ee/app/workers/geo/scheduler/primary/scheduler_worker.rb:      class SchedulerWorker < Geo::Scheduler::SchedulerWorker
    ./ee/app/workers/geo/scheduler/primary/per_shard_scheduler_worker.rb:      class PerShardSchedulerWorker < Geo::Scheduler::PerShardSchedulerWorker
    ./ee/app/workers/geo/scheduler/secondary/scheduler_worker.rb:      class SchedulerWorker < Geo::Scheduler::SchedulerWorker
    ./ee/app/workers/geo/scheduler/secondary/per_shard_scheduler_worker.rb:      class PerShardSchedulerWorker < Geo::Scheduler::PerShardSchedulerWorker
    ./ee/app/workers/geo/repository_sync_worker.rb:  class RepositorySyncWorker < Geo::Scheduler::Secondary::PerShardSchedulerWorker
    ./ee/app/workers/geo/registry_sync_worker.rb:  class RegistrySyncWorker < Geo::Scheduler::Secondary::SchedulerWorker
    ./ee/app/workers/geo/repository_verification/primary/shard_worker.rb:      class ShardWorker < Geo::Scheduler::Primary::SchedulerWorker
    ./ee/app/workers/geo/repository_verification/primary/batch_worker.rb:      class BatchWorker < Geo::Scheduler::Primary::PerShardSchedulerWorker
    ./ee/app/workers/geo/repository_verification/secondary/shard_worker.rb:      class ShardWorker < Geo::Scheduler::Secondary::SchedulerWorker
    ./ee/app/workers/geo/repository_verification/secondary/scheduler_worker.rb:      class SchedulerWorker < Geo::Scheduler::Secondary::PerShardSchedulerWorker
    ./ee/app/workers/geo/container_repository_sync_dispatch_worker.rb:  class ContainerRepositorySyncDispatchWorker < Geo::Scheduler::Secondary::SchedulerWorker
    ./ee/app/workers/geo/repository_shard_sync_worker.rb:  class RepositoryShardSyncWorker < Geo::Scheduler::Secondary::SchedulerWorker
    ./ee/app/workers/geo/file_download_dispatch_worker.rb:  class FileDownloadDispatchWorker < Geo::Scheduler::Secondary::SchedulerWorker
    ```
    
    Resolves https://gitlab.com/gitlab-org/gitlab/-/issues/328364
    
    Changelog: performance
    fee9723c
scheduler_worker.rb 7.24 KB