lib/wayfarer/gc.rb in wayfarer-0.4.6 vs lib/wayfarer/gc.rb in wayfarer-0.4.7
- old
+ new
@@ -1,14 +1,21 @@
# frozen_string_literal: true
module Wayfarer
- GC = Struct.new(:task) do
- def run
- return unless task.counter.decrement <= 0
+ # TODO: Add logging
+ module GC
+ RESETTABLES = [Wayfarer::Redis::Barrier, Wayfarer::Redis::Counter].freeze
- task.metadata.job.run_callbacks(:batch)
+ class << self
+ include Wayfarer::Logging.emit(gc: [:info, "Garbage collecting %<resettable>s"])
+ end
- task.barrier.reset!
- task.counter.reset!
+ module_function
+
+ def run(task)
+ RESETTABLES.each do |resettable|
+ log(:gc, task, resettable: resettable)
+ resettable.new(task).reset!
+ end
end
end
end