Module: EM::Nodes::Server::TaskFeature
- Defined in:
- lib/em-nodes/server/task.rb
Instance Method Summary collapse
- #initialize(*args) ⇒ Object
- #on_reschedule_tasks(values) ⇒ Object
- #on_task_result(res) ⇒ Object
- #send_task(data) ⇒ Object
- #task_count ⇒ Object
- #unbind ⇒ Object
Instance Method Details
#initialize(*args) ⇒ Object
5 6 7 8 9 10 |
# File 'lib/em-nodes/server/task.rb', line 5 def initialize(*args) super(*args) @mutex = Mutex.new @tasks = {} @task_inc = 0 end |
#on_reschedule_tasks(values) ⇒ Object
26 27 28 |
# File 'lib/em-nodes/server/task.rb', line 26 def on_reschedule_tasks(values) # redefine me end |
#on_task_result(res) ⇒ Object
22 23 24 |
# File 'lib/em-nodes/server/task.rb', line 22 def on_task_result(res) # redefine me end |
#send_task(data) ⇒ Object
16 17 18 19 20 |
# File 'lib/em-nodes/server/task.rb', line 16 def send_task(data) task_id = next_task_id add_task(task_id, data) send_task_internal(task_id, data) end |
#task_count ⇒ Object
12 13 14 |
# File 'lib/em-nodes/server/task.rb', line 12 def task_count @mutex.synchronize { @tasks.size } end |
#unbind ⇒ Object
30 31 32 33 34 |
# File 'lib/em-nodes/server/task.rb', line 30 def unbind super on_reschedule_tasks(@tasks.values) @mutex.synchronize { @tasks.clear } end |