fix screen old session termination bug + db.conf rewriting bug
This commit is contained in:
@ -105,16 +105,19 @@ foreach (@db_names) { say " - $_"; }
|
|||||||
# Create dbs for new experiments
|
# Create dbs for new experiments
|
||||||
say 'Creating databases...';
|
say 'Creating databases...';
|
||||||
foreach (@experiments) {
|
foreach (@experiments) {
|
||||||
say "Creating database $db_prefix\_$_...";
|
say " - Creating database $db_prefix\_$_...";
|
||||||
$dbh->do("create database `$db_prefix\_$_`")
|
$dbh->do("create database `$db_prefix\_$_`")
|
||||||
or die "Failed to create database: " . $dbh->errstr;
|
or die "Failed to create database: " . $dbh->errstr;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Kill old screen session
|
# Kill old screen session (don't check success as a session might not exist)
|
||||||
remote( $ssh, "screen", "-S", $screen_name, "-X", "quit" );
|
say "Killing previous screen session with name $screen_name";
|
||||||
|
$ssh->system( "screen", "-XS", $screen_name, "quit" );
|
||||||
|
|
||||||
# Start new screen session
|
# Start new screen session
|
||||||
my $invoke_runner = "perl " . shell_quote($remote_runner);
|
my $invoke_runner = "perl " . shell_quote($remote_runner);
|
||||||
|
say
|
||||||
|
"Starting new screen session with name $screen_name and command $invoke_runner";
|
||||||
remote( $ssh, "screen", "-dmS", $screen_name, "sh", "-lc",
|
remote( $ssh, "screen", "-dmS", $screen_name, "sh", "-lc",
|
||||||
"exec $invoke_runner" );
|
"exec $invoke_runner" );
|
||||||
|
|
||||||
|
|||||||
@ -41,21 +41,23 @@ sub notify {
|
|||||||
sub update_db_config {
|
sub update_db_config {
|
||||||
my ($experiment) = @_;
|
my ($experiment) = @_;
|
||||||
|
|
||||||
open( my $fhandle, '<', $remote_db_conf )
|
open( my $readhandle, '<', $remote_db_conf )
|
||||||
or die "failed to open db.conf: $!";
|
or die "failed to open db.conf: $!";
|
||||||
my @lines;
|
my @lines;
|
||||||
while ( my $line = <$fhandle> ) {
|
while ( my $line = <$readhandle> ) {
|
||||||
if ( $line =~ /^database=/ ) {
|
if ( $line =~ /^database=/ ) {
|
||||||
$line = "database=$db_prefix\_$experiment";
|
$line = "database=$db_prefix\_$experiment";
|
||||||
}
|
}
|
||||||
push @lines, $line;
|
push @lines, $line;
|
||||||
}
|
}
|
||||||
close($fhandle) or die "failed to close db.conf: $!";
|
close($readhandle) or die "failed to close db.conf: $!";
|
||||||
|
|
||||||
open( my $fhandle, '>', $remote_db_conf )
|
open( my $writehandle, '>', $remote_db_conf )
|
||||||
or die "failed to open db.conf: $!";
|
or die "failed to open db.conf: $!";
|
||||||
print( $fhandle, @lines );
|
print( $writehandle, @lines );
|
||||||
close($fhandle) or die "failed to close db.conf: $!";
|
close($writehandle) or die "failed to close db.conf: $!";
|
||||||
|
|
||||||
|
say "Updated db.conf for database $db_prefix\_$experiment";
|
||||||
}
|
}
|
||||||
|
|
||||||
sub cpu_count {
|
sub cpu_count {
|
||||||
|
|||||||
Reference in New Issue
Block a user