Class: Legion::Extensions::Llm::Gemini::Actor::DiscoveryRefresh

Inherits:
Actors::Every
  • Object
show all
Includes:
Helpers::Lex, ConfigResolver, DisplayHealth, EvidenceBuilder, HealthChecker, HttpClient, InstanceComponents, InstanceLifecycle, ModelDiscovery, OfferingComparison, ProbeRunner, ValueEvidenceBuilder, WeightPublication, Logging::Helper
Defined in:
lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb

Overview

SSOT v3 periodic discovery actor for Gemini provider instances. Claims configured instances, discovers models via the Gemini models API, probes health via model listing, and publishes complete OfferingDraft snapshots through the Inventory::Publisher. Recovers instances that fail initial readiness and supports coalesced reactive probes after dispatch-triggered instance_unavailable transitions.

Constant Summary

Constants included from OfferingComparison

OfferingComparison::SCALAR_EVIDENCE_FIELDS

Instance Method Summary collapse

Instance Method Details

#check_subtask?Boolean

Returns:

  • (Boolean)


973
# File 'lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb', line 973

def check_subtask?  = false

#generate_task?Boolean

Returns:

  • (Boolean)


974
# File 'lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb', line 974

def generate_task?  = false

#manualObject



987
988
989
990
991
992
993
994
995
996
# File 'lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb', line 987

def manual
  if @initialized
    tick_refresh
  else
    initial_discovery
    @initialized = true
  end
rescue StandardError => e
  handle_exception(e, level: :warn, operation: 'gemini.actor.discovery_refresh')
end

#run_now?Boolean

Returns:

  • (Boolean)


971
# File 'lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb', line 971

def run_now?        = true

#runner_classObject



969
# File 'lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb', line 969

def runner_class    = self.class

#runner_functionObject



970
# File 'lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb', line 970

def runner_function = 'manual'

#shutdownObject



998
999
1000
1001
1002
# File 'lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb', line 998

def shutdown
  remove_all_instances
rescue StandardError => e
  handle_exception(e, level: :warn, operation: 'gemini.actor.discovery_refresh.shutdown')
end

#timeObject

The registered discovery interval lives under instances.default (provider_settings nests it there). Never return nil — a nil execution_interval makes the TimerTask fire exactly once and then stop, killing all refresh, probes, and recovery.



980
981
982
983
984
985
# File 'lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb', line 980

def time
  interval = settings.dig(:instances, :default, :discovery_interval)
  return interval if interval.is_a?(::Integer) && interval.positive?

  Legion::Extensions::Llm::Gemini.default_settings.dig(:instances, :default, :discovery_interval)
end

#use_runner?Boolean

Returns:

  • (Boolean)


972
# File 'lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb', line 972

def use_runner?     = false