Module: Legion::LLM::Scheduling::OffPeak

Extended by:
Legion::Logging::Helper
Defined in:
lib/legion/llm/scheduling/off_peak.rb

Overview

Simplified peak-hour interface delegating to Scheduling. Preserved for backward compatibility.

Class Method Summary collapse

Class Method Details

.next_off_peak(time = Time.now.utc) ⇒ Object



28
29
30
31
32
# File 'lib/legion/llm/scheduling/off_peak.rb', line 28

def next_off_peak(time = Time.now.utc)
  next_window = Scheduling.next_off_peak(time)
  log.debug("[llm][off_peak] next_off_peak time=#{time.utc.iso8601} next=#{next_window&.utc&.iso8601}")
  next_window
end

.peak_hour?(time = Time.now.utc) ⇒ Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/legion/llm/scheduling/off_peak.rb', line 15

def peak_hour?(time = Time.now.utc)
  Scheduling.peak_hours?(time)
end

.should_defer?(priority: :normal) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
22
23
24
25
26
# File 'lib/legion/llm/scheduling/off_peak.rb', line 19

def should_defer?(priority: :normal)
  return false if priority.to_sym == :urgent
  return false unless Scheduling.enabled?

  defer = peak_hour?
  log.debug("[llm][off_peak] should_defer priority=#{priority} defer=#{defer}")
  defer
end