Server IP : 104.21.14.103 / Your IP : 3.147.67.25 Web Server : LiteSpeed System : Linux business53.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : giankuin ( 1871) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/scheduler/ |
Upload File : |
module Puppet::Scheduler class Scheduler def initialize(timer=Puppet::Scheduler::Timer.new) @timer = timer end def run_loop(jobs) mark_start_times(jobs, @timer.now) while not enabled(jobs).empty? @timer.wait_for(min_interval_to_next_run_from(jobs, @timer.now)) run_ready(jobs, @timer.now) end end private def enabled(jobs) jobs.select(&:enabled?) end def mark_start_times(jobs, start_time) jobs.each do |job| job.start_time = start_time end end def min_interval_to_next_run_from(jobs, from_time) enabled(jobs).map do |j| j.interval_to_next_from(from_time) end.min end def run_ready(jobs, at_time) enabled(jobs).each do |j| # This check intentionally happens right before each run, # instead of filtering on ready schedulers, since one may adjust # the readiness of a later one if j.ready?(at_time) j.run(at_time) end end end end end