Files
academy-scripts/startAcademyEnvironment
2024-02-13 17:03:06 +00:00

57 lines
1.1 KiB
Perl
Executable File

#!/usr/bin/perl
use strict;
use warnings;
use threads;
use 5.010;
use Getopt::Long qw(GetOptions);
my $instanceCount;
my $adminEnv;
my $offset;
my $destroy = '';
GetOptions('instances=s' => \$instanceCount,
'admin=s' => \$adminEnv,
'offset=i' => \$offset,
'destroy' => \$destroy);
# check parameters
if (!(defined $instanceCount && length $instanceCount > 0)) { usage(); }
if (!(defined $offset)) {
print "No Offset specified; Setting Offset to 0\n";
$offset = 0;
}
if (!(defined $adminEnv && length $adminEnv > 0)) { usage(); }
if ($adminEnv != "1") { $adminEnv = 0 }
my $startArgs = "";
if ($adminEnv) {
$startArgs = "--brokenAppLink --brokenBaseURL";
}
if ($destroy) {
$startArgs = "$startArgs --destroy";
}
my @threads;
# start as many instances as specified
for (my $i=$offset; $i<$instanceCount+$offset; $i++)
{
push @threads, async {system ("./setupAcademyInstancev2.pl -instance $i $startArgs")};
}
for (@threads) {
$_->join();
}
exit 0;
sub usage
{
print "Usage: $0 --instances INSTANCECOUNT --admin [0|1]\n";
exit 1;
}