Changeset 96f11eb731229de55299aa08ec81c182fd951cfe in xas


Ignore:
Timestamp:
08/04/15 11:01:15 (2 years ago)
Author:
Kevin L. Esteb <kevin@…>
Branches:
master
Children:
e5ded116dbf8a4f73f0c6b5413b8f165f1d54285
Parents:
8305ebd7e30ecb0f6b031cb1ce153c28cd41ca73
git-author:
Kevin L. Esteb <kevin@…> (08/04/15 11:01:15)
git-committer:
Kevin L. Esteb <kevin@…> (08/04/15 11:01:15)
Message:

Added some more batch stuff

Location:
trunk/lib/XAS/Lib/Batch
Files:
2 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/XAS/Lib/Batch/Interface/Torque.pm

    r8305ebd7e30ecb0f6b031cb1ce153c28cd41ca73 r96f11eb731229de55299aa08ec81c182fd951cfe  
    1010  base    => 'XAS::Base', 
    1111  utils   => 'trim', 
    12   mixins  => 'do_qsub do_qstat do_qdel do_qsig do_qhold do_qrls do_qmove do_qmsg do_qrerun', 
     12  mixins  => 'do_qsub do_qstat do_qdel do_qsig do_qhold do_qrls do_qmove  
     13              do_qmsg do_qrerun do_queue_stat do_queue_stop do_queue_start 
     14              do_server_stat do_server_enable do_server_disable', 
    1315  constant => { 
    14     QSUB   => '/usr/bin/qsub', 
    15     QSTAT  => '/usr/bin/qstat', 
    16     QDEL   => '/usr/bin/qdel', 
    17     QSIG   => '/usr/bin/qsig', 
    18     QHOLD  => '/usr/bin/qhold', 
    19     QRLS   => '/usr/bin/qrls', 
    20     QMSG   => '/usr/bin/qmsg', 
    21     QMOVE  => '/usr/bin/qmove', 
    22     QRERUN => '/usr/bin/qrerun', 
    23     QALTER => '/usr/bin/qalter', 
     16    QSUB     => '/usr/bin/qsub', 
     17    QSTAT    => '/usr/bin/qstat', 
     18    QDEL     => '/usr/bin/qdel', 
     19    QSIG     => '/usr/bin/qsig', 
     20    QHOLD    => '/usr/bin/qhold', 
     21    QRLS     => '/usr/bin/qrls', 
     22    QMSG     => '/usr/bin/qmsg', 
     23    QMOVE    => '/usr/bin/qmove', 
     24    QRERUN   => '/usr/bin/qrerun', 
     25    QALTER   => '/usr/bin/qalter', 
     26    QSTOP    => '/usr/bin/qstop', 
     27    QSTART   => '/usr/bin/qstart', 
     28    QENABLE  => '/usr/bin/qenable', 
     29    QDISABLE => '/usr/bin/qdisable', 
    2430  }, 
    2531; 
     
    192198} 
    193199 
     200sub do_queue_stat { 
     201    my $self = shift; 
     202    my ($p) = $self->validate_params(\@_, [ 
     203        { type => HASHREF } 
     204    ]); 
     205 
     206    my $queue = _create_queue($self, $p->{'queue'}, $p->{'host'}); 
     207    my $cmd = sprintf('%s -Q -f1 %s', QSTAT, $queue); 
     208    my $output = $self->do_cmd($cmd, 'qstat'); 
     209    my $stat = _parse_output($self, $output); 
     210 
     211    return $stat; 
     212 
     213} 
     214 
     215sub do_queue_stop { 
     216    my $self = shift; 
     217    my ($p) = $self->validate_params(\@_, [ 
     218        { type => HASHREF } 
     219    ]); 
     220 
     221    my $queue = _create_queue($self, $p->{'queue'}, $p->{'host'}); 
     222    my $cmd = sprintf('%s -Q -f1 %s', QSTOP, $queue); 
     223    my $output = $self->do_cmd($cmd, 'qstop'); 
     224    my $stat = _parse_output($self, $output); 
     225 
     226    return $stat; 
     227 
     228} 
     229 
     230sub do_queue_start { 
     231    my $self = shift; 
     232    my ($p) = $self->validate_params(\@_, [ 
     233        { type => HASHREF } 
     234    ]); 
     235 
     236    my $queue = _create_queue($self, $p->{'queue'}, $p->{'host'}); 
     237    my $cmd = sprintf('%s -Q -f1 %s', QSTART, $queue); 
     238    my $output = $self->do_cmd($cmd, 'qstart'); 
     239    my $stat = _parse_output($self, $output); 
     240 
     241    return $stat; 
     242 
     243} 
     244 
     245sub do_server_stat { 
     246    my $self = shift; 
     247    my ($p) = $self->validate_params(\@_, [ 
     248        { type => HASHREF } 
     249    ]); 
     250 
     251    my $cmd = sprintf('%s -B -f1 %s', QSTAT, $p->{'host'}); 
     252    my $output = $self->do_cmd($cmd, 'qstat'); 
     253    my $stat = _parse_output($self, $output); 
     254 
     255    return $stat; 
     256 
     257} 
     258 
     259sub do_server_disable { 
     260    my $self = shift; 
     261    my ($p) = $self->validate_params(\@_, [ 
     262        { type => HASHREF } 
     263    ]); 
     264 
     265    my $queue = _create_queue($self, $p->{'queue'}, $p->{'host'}); 
     266    my $cmd = sprintf('%s %s', QDISABLE, $queue); 
     267    my $output = $self->do_cmd($cmd, 'qdisable'); 
     268    my $stat = _parse_output($self, $output); 
     269 
     270    return $stat; 
     271 
     272} 
     273 
     274sub do_server_enable { 
     275    my $self = shift; 
     276    my ($p) = $self->validate_params(\@_, [ 
     277        { type => HASHREF } 
     278    ]); 
     279 
     280    my $queue = _create_queue($self, $p->{'queue'}, $p->{'host'}); 
     281    my $cmd = sprintf('%s %s', QENABLE, $queue); 
     282    my $output = $self->do_cmd($cmd, 'qenable'); 
     283    my $stat = _parse_output($self, $output); 
     284 
     285    return $stat; 
     286 
     287} 
     288 
    194289# ---------------------------------------------------------------------- 
    195290# Private Methods 
     
    222317    my $self = shift; 
    223318    my ($queue, $host) = $self->validate_params(\@_, [ 
    224         1, 
    225         { optional => 1, default => undef } 
     319        { optional => 1, default => undef }, 
     320        { optional => 1, default => undef }, 
    226321    ]); 
    227322 
    228323    my $que; 
    229324 
    230     if (defined($host)) { 
     325    if (defined($host) && defined($queue)) { 
    231326 
    232327        $que = sprintf("%s\@%s", $queue, $host); 
    233328 
     329    } elsif (defined($host)) { 
     330 
     331        $que = sprintf("@%s", $host); 
     332 
    234333    } else { 
    235334 
    236         $que = $queue; 
     335        $que = $queue || ''; 
    237336 
    238337    } 
Note: See TracChangeset for help on using the changeset viewer.