class Paradeiser::Scheduler
Public Class Methods
add(command, minutes)
click to toggle source
# File lib/paradeiser/models/scheduler.rb, line 19 def add(command, minutes) _, err = exec("echo #{BIN_PAR} #{command} | #{at} -q #{queue} now + #{minutes} minutes") id = parse_add(err.chomp) Job.new(id) end
clear()
click to toggle source
# File lib/paradeiser/models/scheduler.rb, line 25 def clear if list.any? # On Linux, at must not be called with an empty job list. job_ids = list.map{|j| j.id}.join(' ') exec("#{at} -q #{queue} -r #{job_ids}") end end
list()
click to toggle source
# File lib/paradeiser/models/scheduler.rb, line 8 def list out, _ = exec("#{at} -l -q #{queue}") out.lines.map do |line| id = parse_list(line) Job.new(id) end.select do |job| job.ours? end end
Private Class Methods
parse_add(line)
click to toggle source
# File lib/paradeiser/models/scheduler.rb, line 38 def parse_add(line) line.match(/^job (?<job>\d+)/)[:job] end
parse_list(line)
click to toggle source
# File lib/paradeiser/models/scheduler.rb, line 34 def parse_list(line) line[/^(\d+)/] end