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.
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 |