diff --git a/pbatch/pb.rb b/pbatch/pb.rb index b8125d8..13831f1 100755 --- a/pbatch/pb.rb +++ b/pbatch/pb.rb @@ -128,7 +128,7 @@ def addjobfromfile usage end end - jobnumber=sprintf("%06d", increasejobscounter) + jobnumber = sprintf("%06d", increasejobscounter) puts "New job: #{jobnumber}" File.copy(filename, "#{@basedir}/#{JOBSDIR}/#{jobnumber}") File.chmod(RUNMODE, "#{@basedir}/#{JOBSDIR}/#{jobnumber}") @@ -157,15 +157,55 @@ def master end def deljob + jobnumber = ARGV[0] + if jobnumber.nil? + puts "Missing jobnumber" + usage + else + jobnumber = sprintf("%06d", jobnumber.to_i) + if FileTest.exists?("#{@basedir}/#{JOBSDIR}/#{jobnumber}") + File.unlink("#{@basedir}/#{JOBSDIR}/#{jobnumber}") + else + puts "Job '#{jobnumber}' not in queue" + exit + end + end end def parkjobs + Dir.entries("#{@basedir}/#{JOBSDIR}").each{|file| + if file == '.' or file == '..' + next + end + File.move("#{@basedir}/#{JOBSDIR}/#{file}", "#{@basedir}/#{PARKDIR}") + } end def unparkjobs + Dir.entries("#{@basedir}/#{PARKDIR}").each{|file| + if file == '.' or file == '..' + next + end + File.move("#{@basedir}/#{PARKDIR}/#{file}", "#{@basedir}/#{JOBSDIR}") + } end def unfail + jobnumber = ARGV[0] + if jobnumber.nil? + puts "Missing jobnumber" + usage + else + jobnumber = sprintf("%06d", jobnumber.to_i) + if FileTest.exists?("#{@basedir}/#{FAILDIR}/#{jobnumber}/job") + File.move("#{@basedir}/#{FAILDIR}/#{jobnumber}/job", "#{@basedir}/#{JOBSDIR}/#{jobnumber}") + # XXX tja, lekker makkelijk even geen recursie implementeren + system("rm", "-rf", "#{@basedir}/#{FAILDIR}/#{jobnumber}") + else + puts "Job '#{jobnumber}' not in failed dir" + exit + end + end end def changeprio