class Dynflow::Actors::ExecutionPlanCleaner::Core
Public Class Methods
new(world, options = {})
click to toggle source
# File lib/dynflow/actors/execution_plan_cleaner.rb, line 28 def initialize(world, options = {}) @world = world default_age = 60 * 60 * 24 # One day by default @poll_interval = options.fetch(:poll_interval, default_age) @max_age = options.fetch(:max_age, default_age) start end
Public Instance Methods
clean!()
click to toggle source
# File lib/dynflow/actors/execution_plan_cleaner.rb, line 41 def clean! plans = @world.persistence.find_old_execution_plans(Time.now.utc - @max_age) report(plans) @world.persistence.delete_execution_plans(uuid: plans.map(&:id)) end
report(plans)
click to toggle source
# File lib/dynflow/actors/execution_plan_cleaner.rb, line 47 def report(plans) @world.logger.info("Execution plan cleaner removing #{plans.count} execution plans.") end
set_clock()
click to toggle source
# File lib/dynflow/actors/execution_plan_cleaner.rb, line 51 def set_clock @world.clock.ping(self, @poll_interval, :start) end
start()
click to toggle source
# File lib/dynflow/actors/execution_plan_cleaner.rb, line 36 def start set_clock clean! end