Class: Legion::Extensions::Ollama::Actor::ModelSync

Inherits:
Actors::Once
  • Object
show all
Defined in:
lib/legion/extensions/ollama/actors/model_sync.rb

Overview

Once actor — fires 5s after extension load and calls Runners::S3Models#sync_configured_models to pull any configured default models from S3 that are not already present locally.

All download logic lives in the runner. This actor is only the trigger.

Instance Method Summary collapse

Instance Method Details

#check_subtask?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/legion/extensions/ollama/actors/model_sync.rb', line 29

def check_subtask?
  false
end

#delayObject



13
14
15
# File 'lib/legion/extensions/ollama/actors/model_sync.rb', line 13

def delay
  5.0
end

#enabled?Boolean

Returns:

  • (Boolean)


37
38
39
40
41
42
43
44
# File 'lib/legion/extensions/ollama/actors/model_sync.rb', line 37

def enabled?
  s3_cfg = settings[:s3]
  models = settings[:default_models]
  s3_cfg.is_a?(Hash) && !s3_cfg[:bucket].nil? && models.is_a?(Array) && !models.empty?
rescue StandardError => e
  handle_exception(e, level: :warn, handled: true)
  false
end

#generate_task?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/legion/extensions/ollama/actors/model_sync.rb', line 33

def generate_task?
  false
end

#runner_classObject



17
18
19
# File 'lib/legion/extensions/ollama/actors/model_sync.rb', line 17

def runner_class
  Legion::Extensions::Ollama::Runners::S3Models
end

#runner_functionObject



21
22
23
# File 'lib/legion/extensions/ollama/actors/model_sync.rb', line 21

def runner_function
  'sync_configured_models'
end

#use_runner?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/legion/extensions/ollama/actors/model_sync.rb', line 25

def use_runner?
  false
end