class Bosh::Director::Api::TaskRemover

Public Class Methods

new(max_tasks) click to toggle source
# File lib/bosh/director/api/task_remover.rb, line 3
def initialize(max_tasks)
  @max_tasks = max_tasks
end

Public Instance Methods

remove(type) click to toggle source
# File lib/bosh/director/api/task_remover.rb, line 7
def remove (type)
  removal_candidates_dataset(type).each do |task|
    FileUtils.rm_rf(task.output) if task.output
    task.destroy
  end
end

Private Instance Methods

removal_candidates_dataset(type) click to toggle source
# File lib/bosh/director/api/task_remover.rb, line 15
def removal_candidates_dataset(type)
  Bosh::Director::Models::Task.filter("state NOT IN ('processing', 'queued') and type='#{type}'").
    order{Sequel.desc(:id)}.limit(2, @max_tasks)
end