App-FQStat

 view release on metacpan or  search on metacpan

META.yml  view on Meta::CPAN

--- #YAML:1.0
name:                App-FQStat
version:             6.3
abstract:            Interactive console front-end for Sun's grid engine
license:             ~
author:              
    - Steffen Mueller <smueller@cpan.org
generated_by:        ExtUtils::MakeMaker version 6.44
distribution_type:   module
requires:     
    DateTime:                      0
    File::HomeDir:                 0
    String::ShellQuote:            0
    String::Trigram:               0
    Term::ANSIScreen:              0
    Term::CallEditor:              0
    Term::ReadKey:                 0
    threads:                       0
    threads::shared:               0
    Time::HiRes:                   0
    Time::Zone:                    0

Makefile.PL  view on Meta::CPAN

use 5.008001;
use ExtUtils::MakeMaker;
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
WriteMakefile(
    NAME              => 'App::FQStat',
    VERSION_FROM      => 'lib/App/FQStat.pm', # finds $VERSION
    PREREQ_PM         => {
      DateTime => '0',
      File::HomeDir => '0',
      String::ShellQuote => '0',
      String::Trigram => '0',
      Term::ANSIScreen => '0',
      Term::CallEditor => '0',
      Time::HiRes => '0',
      Term::ReadKey => '0',
      Time::Zone => '0',
      YAML::Tiny => '0',
      threads => '0',

lib/App/FQStat/Scanner.pm  view on Meta::CPAN

package App::FQStat::Scanner;
# App::FQStat is (c) 2007-2009 Steffen Mueller
#
# This program is free software; you can redistribute it and/or
# modify it under the same terms as Perl itself.

use strict;
use warnings;
use Time::HiRes qw/sleep/;
use String::Trigram ();
use DateTime ();
use Time::Zone ();
use App::FQStat::Debug;

# run qstat
sub run_qstat {
  warnenter if ::DEBUG;
  my $forced = shift;
  lock($::ScannerStartRun);

  if (not defined $::ScannerThread) {

lib/App/FQStat/Scanner.pm  view on Meta::CPAN

      for ($job->[::F_status]) {
        if    (/^[rt]$/)      { $n_status{r}++;  }
        elsif (/(?:^d|E)/)    { $n_status{E}++;  }
        elsif (/h(?:qw|r|t)/) { $n_status{h}++;  }
        else                  { $n_status{qw}++; }
      }

      if ($job->[::F_status] =~ /^h?[rt]$/) {
        my ($day, $month, $year)     = split /\./, $job->[::F_date];
        my ($hour, $minute, $second) = split /:/, $job->[::F_time];
        my $dt = DateTime->new(year => $year, month  => $month,  day    => $day,
                               hour => $hour, minute => $minute, second => $second);
        my $runtime = $curtime - $dt->epoch();
        $runtime_sum += $runtime;
        $max_runtime = $runtime if $runtime > $max_runtime;
        $njobs_started++;
      }

    }

    ($user, my $jobname) = split /;/, $user;



( run in 0.323 second using v1.01-cache-2.11-cpan-05444aca049 )