Module: LimitedCapacity::Worker

Instance Method Summary collapse

Instance Method Details

#max_running_jobsObject

Raises:

  • (NotImplementedError)


40
41
42
# File 'app/workers/concerns/limited_capacity/worker.rb', line 40

def max_running_jobs
  raise NotImplementedError
end

#performObject



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

Raises:

  • (NotImplementedError)


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

Raises:

  • (NotImplementedError)


36
37
38
# File 'app/workers/concerns/limited_capacity/worker.rb', line 36

def remaining_work_count(*args)
  raise NotImplementedError
end

#remove_failed_jobsObject



44
45
46
# File 'app/workers/concerns/limited_capacity/worker.rb', line 44

def remove_failed_jobs
  job_tracker.clean_up
end

#report_prometheus_metricsObject



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