class PbsJob::New

Constants

EXECUTABLE_PERMISSIONS
STREAMS_DIR_NAME

Public Class Methods

source_root() click to toggle source
# File lib/pbs_job.rb, line 101
def self.source_root
  File.expand_path('../../', __FILE__)
end

Public Instance Methods

gen_pbs_script() click to toggle source
# File lib/pbs_job.rb, line 107
def gen_pbs_script() create_script_from_template('job.pbs') end
gen_qsub_script() click to toggle source
# File lib/pbs_job.rb, line 106
def gen_qsub_script() create_script_from_template('job.qsub') end
gen_results_dir() click to toggle source
# File lib/pbs_job.rb, line 110
def gen_results_dir
  results_path = File.join full_name, 'results'
  if options[:link_results]
    create_link(results_path, options[:link_results])
  else
    empty_directory results_path
  end
end
gen_root() click to toggle source
# File lib/pbs_job.rb, line 105
def gen_root() empty_directory(full_name) end
gen_streams_dir() click to toggle source
# File lib/pbs_job.rb, line 109
def gen_streams_dir() empty_directory(streams_path) end
gen_task_script() click to toggle source
# File lib/pbs_job.rb, line 108
def gen_task_script() create_script_from_template('task') end

Private Instance Methods

abs_job_root() click to toggle source
# File lib/pbs_job.rb, line 146
def abs_job_root
  @abs_job_root ||= File.expand_path(full_name)
end
abs_stream_prefix() click to toggle source
# File lib/pbs_job.rb, line 154
def abs_stream_prefix
  @abs_stream_prefix ||= File.join abs_job_root, STREAMS_DIR_NAME, File.basename(full_name)
end
create_file_from_template(file_name) click to toggle source
# File lib/pbs_job.rb, line 125
def create_file_from_template(file_name)
  template(
    "templates/#{file_name}.tt",
    file_path(file_name)
  )
end
create_script_from_template(script_name) click to toggle source
# File lib/pbs_job.rb, line 132
def create_script_from_template(script_name)
  create_file_from_template script_name
  chmod file_path(script_name), EXECUTABLE_PERMISSIONS
end
file_path(script_name) click to toggle source
# File lib/pbs_job.rb, line 121
def file_path(script_name)
  File.join full_name, script_name
end
full_name() click to toggle source

@returns [String] Name with date appended

# File lib/pbs_job.rb, line 138
def full_name
  @full_name ||= if options[:append_timestamp]
    "#{name}.#{DateTime.now.strftime('%b%d_%Y.%Hh-%Mm-%Ss')}"
  else
    name
  end
end
record_task_execution_code() click to toggle source
# File lib/pbs_job.rb, line 158
    def record_task_execution_code
      @record_task_execution_code ||= <<-EOB
set -x # Record commands to stderr

# Record machine and user information
uname -a
whoami
pwd
EOB
    end
streams_path() click to toggle source
# File lib/pbs_job.rb, line 150
def streams_path
  @streams_path ||= File.join full_name, STREAMS_DIR_NAME
end