Class: Legion::Extensions::Llm::Openai::Actor::FleetWorker

Inherits:
Actors::Subscription
  • Object
show all
Includes:
Logging::Helper
Defined in:
lib/legion/extensions/llm/openai/actors/fleet_worker.rb

Overview

Subscription actor for OpenAI fleet request consumption.

Instance Method Summary collapse

Instance Method Details

#check_subtask?Boolean

Returns:

  • (Boolean)


47
48
49
# File 'lib/legion/extensions/llm/openai/actors/fleet_worker.rb', line 47

def check_subtask?
  false
end

#enabled?Boolean

Returns:

  • (Boolean)


55
56
57
58
59
60
61
62
63
# File 'lib/legion/extensions/llm/openai/actors/fleet_worker.rb', line 55

def enabled?
  instances = Openai.discover_instances
  enabled = Legion::Extensions::Llm::Fleet::ProviderResponder.enabled_for?(instances)
  log.debug { "OpenAI fleet worker enablement: enabled=#{enabled}, instance_count=#{instances.size}" }
  enabled
rescue StandardError => e
  handle_exception(e, level: :warn, handled: true, operation: 'openai.fleet_worker.enabled')
  false
end

#generate_task?Boolean

Returns:

  • (Boolean)


51
52
53
# File 'lib/legion/extensions/llm/openai/actors/fleet_worker.rb', line 51

def generate_task?
  false
end

#runner_classObject



32
33
34
# File 'lib/legion/extensions/llm/openai/actors/fleet_worker.rb', line 32

def runner_class
  'Legion::Extensions::Llm::Openai::Runners::FleetWorker'
end

#runner_functionObject



36
37
38
# File 'lib/legion/extensions/llm/openai/actors/fleet_worker.rb', line 36

def runner_function
  'handle_fleet_request'
end

#use_runner?Boolean

Subscription dispatch resolves the String runner_class through Legion::Runner.run (use_runner? = true); the direct runner_class.send(fn, **message) path cannot send on a String.

Returns:

  • (Boolean)


43
44
45
# File 'lib/legion/extensions/llm/openai/actors/fleet_worker.rb', line 43

def use_runner?
  true
end