Module: LimitedCapacity::Worker
- Extended by:
- ActiveSupport::Concern
- Includes:
- Gitlab::Utils::StrongMemoize
- Included in:
- Ci::DeleteObjectsWorker, Ci::DestroyOldPipelinesWorker, Ci::UnlockPipelinesInQueueWorker, ContainerExpirationPolicies::CleanupContainerRepositoryWorker, ContainerRegistry::DeleteContainerRepositoryWorker, ContainerRegistry::RecordDataRepairDetailWorker, Database::BatchedBackgroundMigration::ExecutionWorker, Members::PruneDeletionsWorker, MergeRequestCleanupRefsWorker, Packages::Cleanup::ExecutePolicyWorker, Packages::CleanupArtifactWorker, Projects::RefreshBuildArtifactsSizeStatisticsWorker, VirtualRegistries::Packages::DestroyOrphanCachedResponsesWorker
- Defined in:
- app/workers/concerns/limited_capacity/worker.rb
Instance Method Summary collapse
- #max_running_jobs ⇒ Object
- #perform ⇒ Object
- #perform_work(*args) ⇒ Object
- #remaining_work_count(*args) ⇒ Object
- #remove_failed_jobs ⇒ Object
- #report_prometheus_metrics ⇒ Object
Instance Method Details
#max_running_jobs ⇒ Object
40 41 42 |
# File 'app/workers/concerns/limited_capacity/worker.rb', line 40 def max_running_jobs raise NotImplementedError end |
#perform ⇒ Object
28 29 30 |
# File 'app/workers/concerns/limited_capacity/worker.rb', line 28 def perform(...) perform_registered(...) if job_tracker.register(jid, max_running_jobs) end |
#perform_work(*args) ⇒ Object
32 33 34 |
# File 'app/workers/concerns/limited_capacity/worker.rb', line 32 def perform_work(*args) raise NotImplementedError end |
#remaining_work_count(*args) ⇒ Object
36 37 38 |
# File 'app/workers/concerns/limited_capacity/worker.rb', line 36 def remaining_work_count(*args) raise NotImplementedError end |
#remove_failed_jobs ⇒ Object
44 45 46 |
# File 'app/workers/concerns/limited_capacity/worker.rb', line 44 def remove_failed_jobs job_tracker.clean_up end |
#report_prometheus_metrics ⇒ Object
48 49 50 51 52 |
# File 'app/workers/concerns/limited_capacity/worker.rb', line 48 def report_prometheus_metrics(...) report_running_jobs_metrics set_metric(:remaining_work_gauge, remaining_work_count(...)) set_metric(:max_running_jobs_gauge, max_running_jobs) end |