Skip to content
Kward Search API index

Class: Kward::Workers::LiveView

Inherits:
Object
  • Object
show all
Defined in:
lib/kward/workers/live_view.rb

Overview

Drains a running worker's accumulated event history into a frontend renderer.

Constant Summary collapse

FINISHED_STATUSES =
%w[ready failed cancelled archived].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(worker:, agent:, renderer:, poll_interval: 0.05) ⇒ LiveView

Returns a new instance of LiveView.



7
8
9
10
11
12
13
14
15
# File 'lib/kward/workers/live_view.rb', line 7

def initialize(worker:, agent:, renderer:, poll_interval: 0.05)
  @worker = worker
  @agent = agent
  @renderer = renderer
  @poll_interval = poll_interval
  @seen_events = worker.event_history.length
  @stop = false
  @thread = nil
end

Instance Attribute Details

#agentObject (readonly)

Returns the value of attribute agent.



17
18
19
# File 'lib/kward/workers/live_view.rb', line 17

def agent
  @agent
end

#workerObject (readonly)

Returns the value of attribute worker.



17
18
19
# File 'lib/kward/workers/live_view.rb', line 17

def worker
  @worker
end

Instance Method Details

#startObject



19
20
21
22
23
# File 'lib/kward/workers/live_view.rb', line 19

def start
  @thread = Thread.new { run }
  @thread.report_on_exception = false
  self
end

#stopObject



25
26
27
28
# File 'lib/kward/workers/live_view.rb', line 25

def stop
  @stop = true
  @thread&.join(0.2)
end