class Dronejob::Command
Public Instance Methods
archive()
click to toggle source
# File lib/dronejob/command.rb, line 32 def archive archive_dir = Workspace::Dir.new(File.join(Dir.pwd, "archive")) archive_dir.create Workspace::Dir.new(File.join(Dir.pwd, "tmp/jobs")).each_dir do |dir| dronejob_variables = dir.file("dronejob.yml").read_yaml next unless dronejob_variables[:dronejob_completed] == true Dronejob::Base.log("info", "Archiving #{dir.name}") archive_file = archive_dir.file("#{dir.name}.zip") if archive_file.exists? and !options.force Dronejob::Base.log("error", "Error: Archive '#{archive_file}' already exists. Use --force to replace.") else archive_file.delete if archive_file.exists? dir.compress(archive_file) dir.delete end end end
continue()
click to toggle source
# File lib/dronejob/command.rb, line 74 def continue job_dir = Workspace::Dir.new(File.join(Dir.pwd, "tmp/jobs")).dir(options.job) dronejob_config = job_dir.file("dronejob.yml").read_yaml job_params = dronejob_config[:job_params] job_identifier = dronejob_config[:job_identifier] worker = Dronejob::Loader.workers[job_identifier] job_params["from"] = options.from worker.perform_now(job_params) end
unarchive()
click to toggle source
# File lib/dronejob/command.rb, line 56 def unarchive archives_dir = Workspace::Dir.new(File.join(Dir.pwd, "archive")) archive_file = archives_dir.file("#{options.archive}.zip") Dronejob::Base.log("info", "Unarchiving '#{archive_file}'") target_dir = Workspace::Dir.new(File.join(Dir.pwd, "tmp/jobs")).dir(options.archive) if !options.force and target_dir.exists? Dronejob::Base.log("error", "Error: Job directory already exists") else target_dir.delete if target_dir.exists? archive_file.extract(target_dir) end end