Method: BaseChip::Tasker#kill

Defined in:
lib/base_chip/tasker.rb

#killObject



231
232
233
234
235
236
237
238
239
240
241
242
243
244
# File 'lib/base_chip/tasker.rb', line 231

def kill
  locked = @mutex.try_lock
  @workers.each do |id,w|
    next if w[:stopped]
    if w[:cluster] && (w[:state] != :stopped)
      kill_message
      w[:cluster].kill(w[:uid])
    end
  end
  (@running_tasks + @pending_tasks).each do |t|
    inner_register_results t, :cancel
  end
  @mutex.unlock if locked
end