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
workis 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.
53 54 55 |
# File 'lib/dat-worker-pool/worker.rb', line 53 def dwp_number @dwp_number end |
Instance Method Details
#dwp_join(*args) ⇒ Object
86 87 88 |
# File 'lib/dat-worker-pool/worker.rb', line 86 def dwp_join(*args) @dwp_thread.join(*args) if self.dwp_thread_alive? end |
#dwp_raise(*args) ⇒ Object
90 91 92 |
# File 'lib/dat-worker-pool/worker.rb', line 90 def dwp_raise(*args) @dwp_thread.raise(*args) if self.dwp_thread_alive? end |
#dwp_running? ⇒ Boolean
70 71 72 |
# File 'lib/dat-worker-pool/worker.rb', line 70 def dwp_running? !!@dwp_running end |
#dwp_shutdown? ⇒ Boolean
74 75 76 |
# File 'lib/dat-worker-pool/worker.rb', line 74 def dwp_shutdown? !self.dwp_running? end |
#dwp_signal_shutdown ⇒ Object
66 67 68 |
# File 'lib/dat-worker-pool/worker.rb', line 66 def dwp_signal_shutdown @dwp_running = false end |
#dwp_start ⇒ Object
61 62 63 64 |
# File 'lib/dat-worker-pool/worker.rb', line 61 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
82 83 84 |
# File 'lib/dat-worker-pool/worker.rb', line 82 def dwp_thread_alive? !!(@dwp_thread && @dwp_thread.alive?) end |
#initialize(runner, queue, number) ⇒ Object
55 56 57 58 59 |
# File 'lib/dat-worker-pool/worker.rb', line 55 def initialize(runner, queue, number) @dwp_runner, @dwp_queue, @dwp_number = runner, queue, number @dwp_running = false @dwp_thread = nil end |