Module: DatWorkerPool::Worker::InstanceMethods
- Defined in:
- lib/dat-worker-pool/worker.rb
Instance Attribute Summary collapse
-
#dwp_number ⇒ Object
readonly
Returns the value of attribute dwp_number.
Instance Method Summary collapse
- #dwp_join(*args) ⇒ Object
- #dwp_raise(*args) ⇒ Object
- #dwp_running? ⇒ Boolean
- #dwp_shutdown? ⇒ Boolean
- #dwp_signal_shutdown ⇒ Object
- #dwp_start ⇒ Object
-
#dwp_thread_alive? ⇒ Boolean
this is needed because even if the running flag has been set to false (meaning the worker has been shutdown) the thread may still be alive because its ‘work` is taking a long time or its still trying to shut down.
- #initialize(runner, queue, number) ⇒ Object
Instance Attribute Details
#dwp_number ⇒ Object (readonly)
Returns the value of attribute dwp_number.
45 46 47 |
# File 'lib/dat-worker-pool/worker.rb', line 45 def dwp_number @dwp_number end |
Instance Method Details
#dwp_join(*args) ⇒ Object
78 79 80 |
# File 'lib/dat-worker-pool/worker.rb', line 78 def dwp_join(*args) @dwp_thread.join(*args) if self.dwp_thread_alive? end |
#dwp_raise(*args) ⇒ Object
82 83 84 |
# File 'lib/dat-worker-pool/worker.rb', line 82 def dwp_raise(*args) @dwp_thread.raise(*args) if self.dwp_thread_alive? end |
#dwp_running? ⇒ Boolean
62 63 64 |
# File 'lib/dat-worker-pool/worker.rb', line 62 def dwp_running? !!@dwp_running end |
#dwp_shutdown? ⇒ Boolean
66 67 68 |
# File 'lib/dat-worker-pool/worker.rb', line 66 def dwp_shutdown? !self.dwp_running? end |
#dwp_signal_shutdown ⇒ Object
58 59 60 |
# File 'lib/dat-worker-pool/worker.rb', line 58 def dwp_signal_shutdown @dwp_running = false end |
#dwp_start ⇒ Object
53 54 55 56 |
# File 'lib/dat-worker-pool/worker.rb', line 53 def dwp_start @dwp_running = true @dwp_thread ||= Thread.new{ dwp_work_loop } end |
#dwp_thread_alive? ⇒ Boolean
this is needed because even if the running flag has been set to false (meaning the worker has been shutdown) the thread may still be alive because its ‘work` is taking a long time or its still trying to shut down
74 75 76 |
# File 'lib/dat-worker-pool/worker.rb', line 74 def dwp_thread_alive? !!(@dwp_thread && @dwp_thread.alive?) end |
#initialize(runner, queue, number) ⇒ Object
47 48 49 50 51 |
# File 'lib/dat-worker-pool/worker.rb', line 47 def initialize(runner, queue, number) @dwp_runner, @dwp_queue, @dwp_number = runner, queue, number @dwp_running = false @dwp_thread = nil end |