From 7bd8f9822b05eb2e8c8279678e38e7513c3612f6 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 14 Jan 2022 09:14:36 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- .../agents/create_activity_event_service.rb | 28 ++++++++++++++++++++++ .../agents/delete_expired_events_service.rb | 25 +++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 app/services/clusters/agents/create_activity_event_service.rb create mode 100644 app/services/clusters/agents/delete_expired_events_service.rb (limited to 'app/services/clusters/agents') diff --git a/app/services/clusters/agents/create_activity_event_service.rb b/app/services/clusters/agents/create_activity_event_service.rb new file mode 100644 index 00000000000..886dddf1a52 --- /dev/null +++ b/app/services/clusters/agents/create_activity_event_service.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +module Clusters + module Agents + class CreateActivityEventService + def initialize(agent, **params) + @agent = agent + @params = params + end + + def execute + agent.activity_events.create!(params) + + DeleteExpiredEventsWorker.perform_at(schedule_cleanup_at, agent.id) + + ServiceResponse.success + end + + private + + attr_reader :agent, :params + + def schedule_cleanup_at + 1.hour.from_now.change(min: agent.id % 60) + end + end + end +end diff --git a/app/services/clusters/agents/delete_expired_events_service.rb b/app/services/clusters/agents/delete_expired_events_service.rb new file mode 100644 index 00000000000..a0c0291c1fb --- /dev/null +++ b/app/services/clusters/agents/delete_expired_events_service.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Clusters + module Agents + class DeleteExpiredEventsService + def initialize(agent) + @agent = agent + end + + def execute + agent.activity_events + .recorded_before(remove_events_before) + .each_batch { |batch| batch.delete_all } + end + + private + + attr_reader :agent + + def remove_events_before + agent.activity_event_deletion_cutoff + end + end + end +end -- cgit v1.2.3