Я пишу отличный скрипт, который получает аргументы из строки или из трубы.
Прежде всего, доступ к трубе или аргументам отличается:
- вы получаете доступ к аргументам из
args
переменной
- Вы получаете доступ к трубе через
System.in.text
так что все нормально работает в моем скрипте
НО
когда я запускаю скрипт удаленно (т.е. groovy http://mysite.com/myscript.groovy
), конвейер SOMETIMES не работает, то есть ничего в канале (System.in.text пуст), но иногда это работает.
Мне удалось исправить задержку чтения System.in
на 300 мс (т.е. команда sleep 300
)
Интересно, что-то пропущено при чтении канала или я должен сообщить об ошибке как-то
Пример сценария: https://github.com/fix/groovy-spark/blob/master/Spark.groovy