Set the lease key based on the scheduler class name

parent 8c59221f
......@@ -31,7 +31,7 @@ module Geo
@start_time = Time.now
# Prevent multiple Sidekiq workers from attempting to schedule projects synchronization
# Prevent multiple Sidekiq workers from attempting to schedule jobs
try_obtain_lease do
loop do
break unless node_enabled?
......@@ -64,6 +64,10 @@ module Geo
DB_RETRIEVE_BATCH_SIZE
end
def lease_key
@lease_key ||= self.class.name.underscore
end
def lease_timeout
LEASE_TIMEOUT
end
......
class GeoFileDownloadDispatchWorker < Geo::BaseSchedulerWorker
LEASE_KEY = 'geo_file_download_dispatch_worker'.freeze
private
def lease_key
LEASE_KEY
end
def schedule_job(object_db_id, object_type)
job_id = GeoFileDownloadWorker.perform_async(object_type, object_db_id)
......
class GeoRepositorySyncWorker < Geo::BaseSchedulerWorker
LEASE_KEY = 'geo_repository_sync_worker'.freeze
BACKOFF_DELAY = 5.minutes
MAX_CAPACITY = 25
private
def lease_key
LEASE_KEY
end
def max_capacity
MAX_CAPACITY
end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment