Class: Legion::Extensions::Llm::Gemini::Actor::DiscoveryRefresh
- Inherits:
-
Actors::Every
- Object
- Actors::Every
- Legion::Extensions::Llm::Gemini::Actor::DiscoveryRefresh
- Includes:
- Helpers::Lex, ConfigResolver, DisplayHealth, EvidenceBuilder, HealthChecker, HttpClient, InstanceComponents, InstanceLifecycle, ModelDiscovery, OfferingComparison, ProbeRunner, ValueEvidenceBuilder, 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.
Instance Method Summary collapse
- #check_subtask? ⇒ Boolean
- #generate_task? ⇒ Boolean
- #manual ⇒ Object
- #run_now? ⇒ Boolean
- #runner_class ⇒ Object
- #runner_function ⇒ Object
- #shutdown ⇒ Object
-
#time ⇒ Object
The registered discovery interval lives under instances.default (provider_settings nests it there).
- #use_runner? ⇒ Boolean
Instance Method Details
#check_subtask? ⇒ Boolean
889 |
# File 'lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb', line 889 def check_subtask? = false |
#generate_task? ⇒ Boolean
890 |
# File 'lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb', line 890 def generate_task? = false |
#manual ⇒ Object
903 904 905 906 907 908 909 910 911 912 |
# File 'lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb', line 903 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
887 |
# File 'lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb', line 887 def run_now? = true |
#runner_class ⇒ Object
885 |
# File 'lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb', line 885 def runner_class = self.class |
#runner_function ⇒ Object
886 |
# File 'lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb', line 886 def runner_function = 'manual' |
#shutdown ⇒ Object
914 915 916 917 918 |
# File 'lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb', line 914 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.
896 897 898 899 900 901 |
# File 'lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb', line 896 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
888 |
# File 'lib/legion/extensions/llm/gemini/actors/discovery_refresh.rb', line 888 def use_runner? = false |