Class: PatientHttp::SolidQueue::ProcessorObserver
- Inherits:
-
ProcessorObserver
- Object
- ProcessorObserver
- PatientHttp::SolidQueue::ProcessorObserver
- Defined in:
- lib/patient_http/solid_queue/processor_observer.rb
Overview
Processor Observer that monitors for crashed processes in order to re-enqueue workers, and manages the TaskMonitor lifecycle.
Instance Attribute Summary collapse
-
#task_monitor ⇒ Object
readonly
Returns the value of attribute task_monitor.
Instance Method Summary collapse
-
#initialize(processor) ⇒ ProcessorObserver
constructor
A new instance of ProcessorObserver.
- #request_end(request_task) ⇒ Object
- #request_start(request_task) ⇒ Object
- #start ⇒ Object
- #stop ⇒ Object
Constructor Details
#initialize(processor) ⇒ ProcessorObserver
Returns a new instance of ProcessorObserver.
10 11 12 13 14 15 16 17 18 |
# File 'lib/patient_http/solid_queue/processor_observer.rb', line 10 def initialize(processor) @processor = processor @task_monitor = TaskMonitor.new(processor.config) @monitor_thread = TaskMonitorThread.new( processor.config, @task_monitor, -> { @processor.inflight_request_ids } ) end |
Instance Attribute Details
#task_monitor ⇒ Object (readonly)
Returns the value of attribute task_monitor.
8 9 10 |
# File 'lib/patient_http/solid_queue/processor_observer.rb', line 8 def task_monitor @task_monitor end |
Instance Method Details
#request_end(request_task) ⇒ Object
33 34 35 |
# File 'lib/patient_http/solid_queue/processor_observer.rb', line 33 def request_end(request_task) task_monitor.unregister(request_task) end |
#request_start(request_task) ⇒ Object
29 30 31 |
# File 'lib/patient_http/solid_queue/processor_observer.rb', line 29 def request_start(request_task) task_monitor.register(request_task) end |
#start ⇒ Object
20 21 22 |
# File 'lib/patient_http/solid_queue/processor_observer.rb', line 20 def start @monitor_thread.start end |
#stop ⇒ Object
24 25 26 27 |
# File 'lib/patient_http/solid_queue/processor_observer.rb', line 24 def stop @monitor_thread.stop task_monitor.remove_process end |