Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/workers/analytics/usage_trends/count_job_trigger_worker.rb')
-rw-r--r--app/workers/analytics/usage_trends/count_job_trigger_worker.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/app/workers/analytics/usage_trends/count_job_trigger_worker.rb b/app/workers/analytics/usage_trends/count_job_trigger_worker.rb
new file mode 100644
index 00000000000..37f5c19d64c
--- /dev/null
+++ b/app/workers/analytics/usage_trends/count_job_trigger_worker.rb
@@ -0,0 +1,34 @@
+# frozen_string_literal: true
+
+module Analytics
+ module UsageTrends
+ class CountJobTriggerWorker
+ extend ::Gitlab::Utils::Override
+ include ApplicationWorker
+ include CronjobQueue # rubocop:disable Scalability/CronWorkerContext
+
+ DEFAULT_DELAY = 3.minutes.freeze
+
+ feature_category :devops_reports
+ urgency :low
+
+ idempotent!
+
+ 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
+ end
+ end
+end