Class: NulogyMessageBusConsumer::Tasks::PruneProcessedMessages

Inherits:
Object
  • Object
show all
Defined in:
lib/nulogy_message_bus_consumer/tasks/prune_processed_messages.rb

Overview

Deletes any ProcessedMessage rows that are older than max_age

interval_seconds: how many seconds between invocations max_age: ActiveSupport::Duration of how old ProcessedMessage are removed. This calls ‘#ago` on it. For example, setting this to `1.week` will delete records more than `1.week.ago` on each invocation.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(logger, interval_seconds, max_age) ⇒ PruneProcessedMessages

Returns a new instance of PruneProcessedMessages.



13
14
15
16
17
# File 'lib/nulogy_message_bus_consumer/tasks/prune_processed_messages.rb', line 13

def initialize(logger, interval_seconds, max_age)
  @logger = logger
  @interval = interval_seconds
  @max_age = max_age
end

Instance Attribute Details

#intervalObject (readonly)

Returns the value of attribute interval.



11
12
13
# File 'lib/nulogy_message_bus_consumer/tasks/prune_processed_messages.rb', line 11

def interval
  @interval
end

Instance Method Details

#callObject



22
23
24
25
26
# File 'lib/nulogy_message_bus_consumer/tasks/prune_processed_messages.rb', line 22

def call
  deleted = prune_stale

  @logger.info("Pruned #{deleted} processed messages")
end

#extract_args(**_) ⇒ Object



19
20
# File 'lib/nulogy_message_bus_consumer/tasks/prune_processed_messages.rb', line 19

def extract_args(**_)
end