Class: Legion::Extensions::Apollo::Actor::ContradictionScanner
- Inherits:
-
Legion::Extensions::Actors::Every
- Object
- Legion::Extensions::Actors::Every
- Legion::Extensions::Apollo::Actor::ContradictionScanner
- Includes:
- Logging::Helper, Settings::Helper
- Defined in:
- lib/legion/extensions/apollo/actors/contradiction_scanner.rb
Class Attribute Summary collapse
-
.mutex ⇒ Object
readonly
Returns the value of attribute mutex.
-
.queue ⇒ Object
readonly
Returns the value of attribute queue.
Class Method Summary collapse
Instance Method Summary collapse
- #check_subtask? ⇒ Boolean
- #every ⇒ Object
- #generate_task? ⇒ Boolean
- #run_now? ⇒ Boolean
- #runner_class ⇒ Object
- #runner_function ⇒ Object
- #time ⇒ Object
- #use_runner? ⇒ Boolean
Class Attribute Details
.mutex ⇒ Object (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 |
.queue ⇒ Object (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
.drain ⇒ Object
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: , content: content }) end |
.pending_count ⇒ Object
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
40 |
# File 'lib/legion/extensions/apollo/actors/contradiction_scanner.rb', line 40 def check_subtask? = false |
#every ⇒ Object
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
41 |
# File 'lib/legion/extensions/apollo/actors/contradiction_scanner.rb', line 41 def generate_task? = false |
#run_now? ⇒ Boolean
38 |
# File 'lib/legion/extensions/apollo/actors/contradiction_scanner.rb', line 38 def run_now? = false |
#runner_class ⇒ Object
35 |
# File 'lib/legion/extensions/apollo/actors/contradiction_scanner.rb', line 35 def runner_class = Legion::Extensions::Apollo::Runners::Knowledge |
#runner_function ⇒ Object
36 |
# File 'lib/legion/extensions/apollo/actors/contradiction_scanner.rb', line 36 def runner_function = 'scan_pending_contradictions' |
#time ⇒ Object
37 |
# File 'lib/legion/extensions/apollo/actors/contradiction_scanner.rb', line 37 def time = settings[:actors][:contradiction_interval] |
#use_runner? ⇒ Boolean
39 |
# File 'lib/legion/extensions/apollo/actors/contradiction_scanner.rb', line 39 def use_runner? = false |