class Bosh::Director::Api::TaskManager
Public Instance Methods
decompress(src, dst)
click to toggle source
# File lib/bosh/director/api/task_manager.rb, line 46 def decompress(src, dst) # only decompress if log_file is missing and we have a compressed file return unless !File.file?(dst) && File.file?(src) File.open(dst, 'w') do |file| Zlib::GzipReader.open(src) do |gz| file.write gz.read end end FileUtils.rm(src) end
find_task(task_id)
click to toggle source
Looks up director task in DB @param [Integer] task_id @return [Models::Task] Task @raise [TaskNotFound]
# File lib/bosh/director/api/task_manager.rb, line 10 def find_task(task_id) task = Models::Task[task_id] if task.nil? raise TaskNotFound, "Task #{task_id} not found" end task end
log_file(task, log_type)
click to toggle source
# File lib/bosh/director/api/task_manager.rb, line 34 def log_file(task, log_type) # Backward compatibility return task.output unless File.directory?(task.output) file = File.join(task.output, log_type) file_gz = [file, 'gz'].join('.') decompress(file_gz, file) file end
task_to_hash(task)
click to toggle source
Returns hash representation of the task @param [Models::Task] task Director
task @return [Hash] Hash
task representation
# File lib/bosh/director/api/task_manager.rb, line 21 def task_to_hash(task) { "id" => task.id, "state" => task.state, "description" => task.description, "timestamp" => task.timestamp.to_i, "started_at" => task.started_at ? task.started_at.to_i: nil, "result" => task.result, "user" => task.username || "admin", "deployment" => task.deployment_name } end