Class: Analytics::UsageTrends::CountJobTriggerWorker

Inherits:
Object
  • Object
show all
Extended by:
Gitlab::Utils::Override
Includes:
ApplicationWorker, CronjobQueue
Defined in:
app/workers/analytics/usage_trends/count_job_trigger_worker.rb

Constant Summary collapse

DEFAULT_DELAY =
3.minutes.freeze

Constants included from ApplicationWorker

ApplicationWorker::LOGGING_EXTRA_KEY, ApplicationWorker::SAFE_PUSH_BULK_LIMIT

Constants included from WorkerAttributes

WorkerAttributes::DEFAULT_DATA_CONSISTENCY, WorkerAttributes::NAMESPACE_WEIGHTS, WorkerAttributes::VALID_DATA_CONSISTENCIES, WorkerAttributes::VALID_RESOURCE_BOUNDARIES, WorkerAttributes::VALID_URGENCIES

Instance Method Summary collapse

Methods included from Gitlab::Utils::Override

extended, extensions, included, method_added, override, prepended, queue_verification, verify!

Methods included from Gitlab::SidekiqVersioning::Worker

#job_version

Methods included from WorkerContext

#with_context

Instance Method Details

#performObject


20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'app/workers/analytics/usage_trends/count_job_trigger_worker.rb', line 20

def perform
  recorded_at = Time.zone.now

  worker_arguments = Gitlab::Analytics::UsageTrends::WorkersArgumentBuilder.new(
    measurement_identifiers: ::Analytics::UsageTrends::Measurement.measurement_identifier_values,
    recorded_at: recorded_at
  ).execute

  perform_in = DEFAULT_DELAY.minutes.from_now
  worker_arguments.each do |args|
    CounterJobWorker.perform_in(perform_in, *args)

    perform_in += DEFAULT_DELAY
  end
end