Module: Legion::LLM::OffPeak

Extended by:
Legion::Logging::Helper
Defined in:
lib/legion/llm/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



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

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)


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

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

.should_defer?(priority: :normal) ⇒ Boolean

Returns:

  • (Boolean)


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

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