]> mj.ucw.cz Git - bex.git/commitdiff
Added bjob
authorMartin Mares <mj@ucw.cz>
Mon, 31 Oct 2011 13:13:05 +0000 (14:13 +0100)
committerMartin Mares <mj@ucw.cz>
Mon, 31 Oct 2011 13:13:05 +0000 (14:13 +0100)
TODO
bjob [new file with mode: 0755]

diff --git a/TODO b/TODO
index 7d243baa22c24145a6aa29abf2a32ddd42cceb7e..b2a374d4656b5a8a989a460b11706dd36e859f90 100644 (file)
--- a/TODO
+++ b/TODO
@@ -7,4 +7,3 @@
 - Detector of orphans (unused queue dirs, jobs on non-existent machines, non-queued jobs)
 - job failed => give a more explanatory message
 - write_job_status should be atomic
-- bq --show
diff --git a/bjob b/bjob
new file mode 100755 (executable)
index 0000000..0d6f468
--- /dev/null
+++ b/bjob
@@ -0,0 +1,34 @@
+#!/usr/bin/perl
+# Batch EXecutor 2.0 -- Operations on a Job
+# (c) 2011 Martin Mares <mj@ucw.cz>
+
+use strict;
+use warnings;
+use Getopt::Long;
+
+use lib 'lib';
+use BEX;
+
+my $edit;
+my $queue_name;
+
+GetOptions(
+       "e|edit!" => \$edit,
+       "q|queue=s" => \$queue_name,
+) && @ARGV == 1 or die <<AMEN ;
+Usage: bjob [<options>] <job-id>
+
+Options:
+-e, --edit             Run editor on the given job (no locking)
+-q, --queue=<name>     Act on the given queue
+AMEN
+
+my $queue = BEX::Queue->new($queue_name);
+my $fn = $queue->job_file($ARGV[0]);
+-f $fn or die "No such job " . $ARGV[0] . "\n";
+
+if ($edit) {
+       system "editor", $fn;
+} else {
+       system "cat", $fn;
+}