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