Как я могу преобразовать этот Perl-код в Groovy?
Как обойти запросы подтверждения внешнего процесса?
Я пытаюсь преобразовать Perl-скрипт в Groovy.Программа автоматически загружает / удаляет задания Maestro (планирование заданий).Проблема заключается в том, что команда удаления будет запрашивать подтверждение (Y / N) для каждого найденного задания.Я попытался выполнить процесс в Groovy, но остановлюсь на подсказках.Скрипт Perl записывает кучу Ys в поток и печатает его в обработчик (если я правильно понял), чтобы избежать остановки.Мне интересно, как сделать то же самое в Groovy?
Или любой другой подход к выполнению команды и как-то написать Y в каждом запросе подтверждения.
Perl Script:
$maestrostring="";
while ($x < 1500) {
$maestrostring .= "y\n";
$x++;
}
# delete the jobs
open(MAESTRO_CMD, "|ssh mserver /bin/composer delete job=pserver#APPA@")
print MAESTRO_CMD $maestrostring;
close(MAESTRO_CMD);
Это мой рабочий код:
def deleteMaestroJobs (){
...
def commandSched ="ssh $maestro_server /bin/composer delete sched=$primary_server#$app_acronym$app_level@"
def commandJobs ="ssh $maestro_server /bin/composer delete job=$primary_server#$app_acronym$app_level@"
try {
executeCommand commandJobs
}
catch (Exception ex ){
throw new Exception("Error executing the Maestro Composer [DELETE]")
}
try {
executeCommand commandSched
}
catch (Exception ex ){
throw new Exception("Error executing the Maestro Composer [DELETE]")
}
}
def executeCommand(command){
def process = command.execute()
process.withWriter { writer ->
writer.print('y\n' * 1500)
}
process.consumeProcessOutput(System.out, System.err)
process.waitFor()
}