Class: Legion::Extensions::Llm::Gemini::Actor::DiscoveryRefresh
- Inherits:
-
Actors::Every
- Object
- Actors::Every
- Legion::Extensions::Llm::Gemini::Actor::DiscoveryRefresh
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
OfferingComparison::SCALAR_EVIDENCE_FIELDS
Instance Method Summary
collapse
Instance Method Details
#check_subtask? ⇒ Boolean
973
|
# File 'lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb', line 973
def check_subtask? = false
|
#generate_task? ⇒ Boolean
974
|
# File 'lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb', line 974
def generate_task? = false
|
#manual ⇒ Object
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
971
|
# File 'lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb', line 971
def run_now? = true
|
#runner_class ⇒ Object
969
|
# File 'lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb', line 969
def runner_class = self.class
|
#runner_function ⇒ Object
970
|
# File 'lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb', line 970
def runner_function = 'manual'
|
#shutdown ⇒ Object
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
|
#time ⇒ Object
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
972
|
# File 'lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb', line 972
def use_runner? = false
|