Class: Legion::Extensions::Llm::Ollama::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/ollama/actors/discovery_refresh.rb

Overview

SSOT v3 periodic discovery actor for Ollama provider instances. Claims operator-configured instances, discovers models via /api/tags, probes readiness via /api/tags (non-inference), and publishes complete OfferingDraft snapshots through 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)


939
# File 'lib/legion/extensions/llm/ollama/actors/discovery_refresh.rb', line 939

def check_subtask?  = false

#generate_task?Boolean

Returns:

  • (Boolean)


940
# File 'lib/legion/extensions/llm/ollama/actors/discovery_refresh.rb', line 940

def generate_task?  = false

#manualObject



954
955
956
957
958
959
960
961
962
963
# File 'lib/legion/extensions/llm/ollama/actors/discovery_refresh.rb', line 954

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

#run_now?Boolean

Returns:

  • (Boolean)


937
# File 'lib/legion/extensions/llm/ollama/actors/discovery_refresh.rb', line 937

def run_now?        = true

#runner_classObject



935
# File 'lib/legion/extensions/llm/ollama/actors/discovery_refresh.rb', line 935

def runner_class    = self.class

#runner_functionObject



936
# File 'lib/legion/extensions/llm/ollama/actors/discovery_refresh.rb', line 936

def runner_function = 'manual'

#shutdownObject



965
966
967
968
969
# File 'lib/legion/extensions/llm/ollama/actors/discovery_refresh.rb', line 965

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

#timeObject

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



947
948
949
950
951
952
# File 'lib/legion/extensions/llm/ollama/actors/discovery_refresh.rb', line 947

def time
  interval = settings.dig(:discovery, :interval_seconds)
  return interval if interval.is_a?(::Integer) && interval.positive?

  Legion::Extensions::Llm::Ollama.default_settings.dig(:discovery, :interval_seconds)
end

#use_runner?Boolean

Returns:

  • (Boolean)


938
# File 'lib/legion/extensions/llm/ollama/actors/discovery_refresh.rb', line 938

def use_runner?     = false