IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Feb 24, 2009, 12:00:25 PM (17 years ago)
Author:
Paul Price
Message:

Adding handling for missed exceptions, similar to register_imfile.pl --- the idea is to have exceptions trigger the my_die functions so that errors are recorded in the database, and don't go on forever.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippScripts/scripts/detrend_process_imfile.pl

    r19942 r22430  
    2222use Getopt::Long qw( GetOptions :config auto_help auto_version gnu_getopt );
    2323use Pod::Usage qw( pod2usage );
     24
     25# Look for programs we need
     26my $missing_tools;
     27my $dettool = can_run('dettool') or (warn "Can't find dettool" and $missing_tools = 1);
     28my $ppImage = can_run('ppImage') or (warn "Can't find ppImage" and $missing_tools = 1);
     29my $ppStatsFromMetadata = can_run('ppStatsFromMetadata') or (warn "Can't find ppStatsFromMetadata" and $missing_tools = 1);
     30if ($missing_tools) {
     31    warn("Can't find required tools.");
     32    exit($PS_EXIT_CONFIG_ERROR);
     33}
    2434
    2535my ( $det_id, $exp_id, $class_id, $det_type, $exp_tag, $input_uri, $camera, $outroot, $dbname, $reduction,
     
    5565    defined $outroot;
    5666
     67# Unhandled exceptions should be passed on to my_die so they get pushed into the database
     68$SIG{__DIE__} = sub { die @_ if $^S;
     69                      my_die( $_[0], $det_id, $exp_id, $class_id, $PS_EXIT_UNKNOWN_ERROR ); };
     70
    5771# XXX this exits with status = 0 on failure
    5872$ipprc->define_camera($camera);
     
    6680my $ppimage_recipe = $ipprc->reduction($reduction, uc($det_type) . '_PROCESS'); # Recipe name for ppImage
    6781my $jpeg_recipe = $ipprc->reduction($reduction, uc($det_type) . '_JPEG_IMAGE'); # Recipe name for JPEG
    68 
    69 # Look for programs we need
    70 my $missing_tools;
    71 my $dettool = can_run('dettool') or (warn "Can't find dettool" and $missing_tools = 1);
    72 my $ppImage = can_run('ppImage') or (warn "Can't find ppImage" and $missing_tools = 1);
    73 my $ppStatsFromMetadata = can_run('ppStatsFromMetadata') or (warn "Can't find ppStatsFromMetadata" and $missing_tools = 1);
    74 if ($missing_tools) {
    75     warn("Can't find required tools.");
    76     exit($PS_EXIT_CONFIG_ERROR);
    77 }
    7882
    7983&my_die("Couldn't find input file: $input_uri\n", $det_id, $exp_id, $class_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists($input_uri);
     
    128132    }
    129133    foreach my $line (@$stdout_buf) {
    130         $cmdflags .= " $line";
     134        $cmdflags .= " $line";
    131135    }
    132136    chomp $cmdflags;
Note: See TracChangeset for help on using the changeset viewer.