Class: Legion::Extensions::Apollo::Actor::ContradictionScanner

Inherits:
Legion::Extensions::Actors::Every
  • Object
show all
Includes:
Logging::Helper, Settings::Helper
Defined in:
lib/legion/extensions/apollo/actors/contradiction_scanner.rb

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Class Attribute Details

.mutexObject (readonly)

Returns the value of attribute mutex.



18
19
20
# File 'lib/legion/extensions/apollo/actors/contradiction_scanner.rb', line 18

def mutex
  @mutex
end

.queueObject (readonly)

Returns the value of attribute queue.



18
19
20
# File 'lib/legion/extensions/apollo/actors/contradiction_scanner.rb', line 18

def queue
  @queue
end

Class Method Details

.drainObject



28
29
30
31
32
# File 'lib/legion/extensions/apollo/actors/contradiction_scanner.rb', line 28

def drain
  items = []
  items << queue.pop until queue.empty?
  items
end

.enqueue(entry_id:, embedding:, content:) ⇒ Object



20
21
22
# File 'lib/legion/extensions/apollo/actors/contradiction_scanner.rb', line 20

def enqueue(entry_id:, embedding:, content:)
  queue.push({ entry_id: entry_id, embedding: embedding, content: content })
end

.pending_countObject



24
25
26
# File 'lib/legion/extensions/apollo/actors/contradiction_scanner.rb', line 24

def pending_count
  queue.size
end

Instance Method Details

#check_subtask?Boolean

Returns:

  • (Boolean)


40
# File 'lib/legion/extensions/apollo/actors/contradiction_scanner.rb', line 40

def check_subtask?  = false

#everyObject



43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/legion/extensions/apollo/actors/contradiction_scanner.rb', line 43

def every
  items = self.class.drain
  return if items.empty?

  log.debug("Apollo ContradictionScanner.every processing=#{items.size}")
  runner = Object.new.extend(Legion::Extensions::Apollo::Runners::Knowledge)
  items.each do |item|
    runner.detect_contradictions(item[:entry_id], item[:embedding], item[:content])
  end
  log.info("Apollo ContradictionScanner.every completed=#{items.size}")
rescue StandardError => e
  handle_exception(e, level: :error, operation: 'apollo.actor.contradiction_scanner')
end

#generate_task?Boolean

Returns:

  • (Boolean)


41
# File 'lib/legion/extensions/apollo/actors/contradiction_scanner.rb', line 41

def generate_task?  = false

#run_now?Boolean

Returns:

  • (Boolean)


38
# File 'lib/legion/extensions/apollo/actors/contradiction_scanner.rb', line 38

def run_now?        = false

#runner_classObject



35
# File 'lib/legion/extensions/apollo/actors/contradiction_scanner.rb', line 35

def runner_class    = Legion::Extensions::Apollo::Runners::Knowledge

#runner_functionObject



36
# File 'lib/legion/extensions/apollo/actors/contradiction_scanner.rb', line 36

def runner_function = 'scan_pending_contradictions'

#timeObject



37
# File 'lib/legion/extensions/apollo/actors/contradiction_scanner.rb', line 37

def time            = settings[:actors][:contradiction_interval]

#use_runner?Boolean

Returns:

  • (Boolean)


39
# File 'lib/legion/extensions/apollo/actors/contradiction_scanner.rb', line 39

def use_runner?     = false