Replace __BIN_DIR__ and __TRASH_FILE__. Init --spool/.trash.

This commit is contained in:
Daniel Nichter
2013-06-14 19:12:58 -07:00
parent 079f570c78
commit 5bd7248c6c

View File

@@ -5398,7 +5398,7 @@ sub main {
$logger->info("Done running $service, exit $exit_status"); $logger->info("Done running $service, exit $exit_status");
}; };
if ( $EVAL_ERROR ) { if ( $EVAL_ERROR ) {
$logger->error("Error running pt-agent --service $service: $EVAL_ERROR"); $logger->fatal("Error running service $service: $EVAL_ERROR");
} }
return $exit_status; return $exit_status;
} }
@@ -5418,7 +5418,7 @@ sub main {
$logger->info("Done sending data for $service, exit $exit_status"); $logger->info("Done sending data for $service, exit $exit_status");
}; };
if ( $EVAL_ERROR ) { if ( $EVAL_ERROR ) {
$logger->error("Error running pt-agent --send-data $service: $EVAL_ERROR"); $logger->fatal("Error running sending $service data: $EVAL_ERROR");
} }
return $exit_status; return $exit_status;
} }
@@ -5487,7 +5487,7 @@ sub main {
); );
}; };
if ( $EVAL_ERROR ) { if ( $EVAL_ERROR ) {
$logger->fatal("pt-agent crashed: $EVAL_ERROR"); $logger->fatal("Error running agent: $EVAL_ERROR");
} }
$logger->info("pt-agent exit $exit_status, oktorun $oktorun"); $logger->info("pt-agent exit $exit_status, oktorun $oktorun");
@@ -6779,6 +6779,7 @@ sub run_service {
my $cxn = $args{Cxn}; my $cxn = $args{Cxn};
# Optional args # Optional args
my $bin_dir = defined $args{bin_dir} ? $args{bin_dir} : "$FindBin::Bin/";
my $agent = $args{agent}; # for testing my $agent = $args{agent}; # for testing
my $client = $args{client}; # for testing my $client = $args{client}; # for testing
my $json = $args{json}; # for testing my $json = $args{json}; # for testing
@@ -6970,13 +6971,15 @@ sub run_service {
if ( my $query = $task->query ) { if ( my $query = $task->query ) {
$query = replace_special_vars( $query = replace_special_vars(
cmd => $query, cmd => $query,
spool_dir => $spool_dir,
output_files => \@output_files, # __RUN_n_OUTPUT__ output_files => \@output_files, # __RUN_n_OUTPUT__
service => $service->name, # __SERVICE__ service => $service->name, # __SERVICE__
lib_dir => $lib_dir, # __LIB__ lib_dir => $lib_dir, # __LIB__
meta_dir => "$lib_dir/meta", # __META__ meta_dir => "$lib_dir/meta", # __META__
stage_dir => $tmp_dir, # __STAGE__ stage_dir => $tmp_dir, # __STAGE__
store => $store, # __STORE_key__ store => $store, # __STORE_key__
ts => $prefix, ts => $prefix, # __TS__
bin_dir => $bin_dir, # __BIN_DIR__
); );
$logger->info("Task $taskno query: $query"); $logger->info("Task $taskno query: $query");
my $rows; my $rows;
@@ -7033,13 +7036,15 @@ sub run_service {
); );
$cmd = replace_special_vars( $cmd = replace_special_vars(
cmd => $cmd, cmd => $cmd,
spool_dir => $spool_dir,
output_files => \@output_files, # __RUN_n_OUTPUT__ output_files => \@output_files, # __RUN_n_OUTPUT__
service => $service->name, # __SERVICE__ service => $service->name, # __SERVICE__
lib_dir => $lib_dir, # __LIB__ lib_dir => $lib_dir, # __LIB__
meta_dir => "$lib_dir/meta", # __META__ meta_dir => "$lib_dir/meta", # __META__
stage_dir => $tmp_dir, # __STAGE__ stage_dir => $tmp_dir, # __STAGE__
store => $store, # __STORE_key__ store => $store, # __STORE_key__
ts => $prefix, ts => $prefix, # __TS__
bin_dir => $bin_dir, # __BIN_DIR__
); );
$logger->info("Task $taskno command: $cmd"); $logger->info("Task $taskno command: $cmd");
@@ -7157,6 +7162,7 @@ sub replace_special_vars {
have_required_args(\%args, qw( have_required_args(\%args, qw(
cmd cmd
spool_dir
output_files output_files
service service
lib_dir lib_dir
@@ -7164,8 +7170,10 @@ sub replace_special_vars {
stage_dir stage_dir
store store
ts ts
bin_dir
)) or die; )) or die;
my $cmd = $args{cmd}; my $cmd = $args{cmd};
my $spool_dir = $args{spool_dir};
my $output_files = $args{output_files}; my $output_files = $args{output_files};
my $service = $args{service}; my $service = $args{service};
my $lib_dir = $args{lib_dir}; my $lib_dir = $args{lib_dir};
@@ -7173,6 +7181,7 @@ sub replace_special_vars {
my $stage_dir = $args{stage_dir}; my $stage_dir = $args{stage_dir};
my $store = $args{store}; my $store = $args{store};
my $ts = $args{ts}; my $ts = $args{ts};
my $bin_dir = $args{bin_dir};
my $new_cmd = join(' ', my $new_cmd = join(' ',
map { map {
@@ -7195,6 +7204,9 @@ sub replace_special_vars {
$word =~ s/__SERVICE__/$service/g; $word =~ s/__SERVICE__/$service/g;
$word =~ s/__STAGE_FILE_/$stage_dir\/$ts.$service/g; $word =~ s/__STAGE_FILE_/$stage_dir\/$ts.$service/g;
$word =~ s/__META__FILE__/$meta_dir\/$service/g; $word =~ s/__META__FILE__/$meta_dir\/$service/g;
$word =~ s/__BIN_DIR__/$bin_dir/g;
$word =~ s/__TRASH_FILE__/$spool_dir\/.trash\/$service/g;
$word; $word;
} }
split(/\s+/, $cmd) split(/\s+/, $cmd)
@@ -7224,7 +7236,7 @@ sub init_spool_dir {
die "$spool_dir is not writeable\n"; die "$spool_dir is not writeable\n";
} }
foreach my $subdir ( $service, '.tmp' ) { foreach my $subdir ( $service, '.tmp', '.trash' ) {
next unless $subdir; # service may be undef next unless $subdir; # service may be undef
my $dir = "$spool_dir/$subdir"; my $dir = "$spool_dir/$subdir";
if ( ! -d $dir ) { if ( ! -d $dir ) {
@@ -7316,7 +7328,7 @@ sub send_data {
); );
$daemon->run(); $daemon->run();
$logger->info("Sending $service service data"); $logger->info("Sending $service data");
# Connect to Percona, get entry links. # Connect to Percona, get entry links.
my $entry_links; my $entry_links;