Class: WorkItems::UpdateNamespaceTraversalIdsService
- Inherits:
-
Object
- Object
- WorkItems::UpdateNamespaceTraversalIdsService
- Includes:
- Gitlab::ExclusiveLeaseHelpers
- Defined in:
- app/services/work_items/update_namespace_traversal_ids_service.rb
Constant Summary collapse
- BATCH_SIZE =
100- LEASE_TTL =
5.minutes
- LEASE_TRY_AFTER =
3.seconds
Constants included from Gitlab::ExclusiveLeaseHelpers
Gitlab::ExclusiveLeaseHelpers::FailedToObtainLockError
Class Method Summary collapse
Instance Method Summary collapse
- #execute ⇒ Object
-
#initialize(namespace) ⇒ UpdateNamespaceTraversalIdsService
constructor
A new instance of UpdateNamespaceTraversalIdsService.
Methods included from Gitlab::ExclusiveLeaseHelpers
Constructor Details
#initialize(namespace) ⇒ UpdateNamespaceTraversalIdsService
Returns a new instance of UpdateNamespaceTraversalIdsService.
15 16 17 |
# File 'app/services/work_items/update_namespace_traversal_ids_service.rb', line 15 def initialize(namespace) @namespace = namespace end |
Class Method Details
.execute(namespace) ⇒ Object
11 12 13 |
# File 'app/services/work_items/update_namespace_traversal_ids_service.rb', line 11 def self.execute(namespace) new(namespace).execute end |
Instance Method Details
#execute ⇒ Object
19 20 21 |
# File 'app/services/work_items/update_namespace_traversal_ids_service.rb', line 19 def execute in_lock(lease_key, ttl: LEASE_TTL, sleep_sec: LEASE_TRY_AFTER) { update_work_items } end |