Я запускаю Хадсона в качестве службы Windows через Tomcat без участия рабов. Последний шаг сборки в задании - это командный файл, который вызывает некоторый Java-код. Код использует инструмент командной строки PostgreSQL psql (через Runtime.exec()) для создания базы данных на локальном компьютере и, в конечном итоге, запускает некоторые тесты против нее.Работа Хадсона зависает в Runtime.exec
Задача будет развиваться до этой точки, а затем вешать бесконечно, не создавая базу данных. Если я запускаю командный файл из командной строки, он отлично работает. Я не думаю, что http://hudson.gotdns.com/wiki/display/HUDSON/Spawning+processes+from+build применяется, так как процесс, порожденный, даже не кажется, что он начинает выполняться, но я новичок в этом, поэтому, пожалуйста, дайте мне знать, если я ошибаюсь.
Редактировать @anjanb: Единственная цель командного файла - вызвать код Java, и единственный вход пользователя передается как аргументы командной строки, которые, как я вижу, идут непосредственно через вывод консоли сборки.
Проводник процесса показывает, что psql запускается, но это, очевидно, не выполняется, так как первая команда psql задана, это создать новую базу данных, но этого не происходит.
Редактировать 2: У меня есть несколько советов из списка рассылки пользователей Hudson, я попробую их в понедельник и отчитаюсь.
Редактировать 3: Java-код уже потреблял выходные потоки, я использовал эту статью при разработке кода. Я не могу понять, что происходит, поэтому я перерабатываю код для использования JDBC для создания базы данных вместо того, чтобы полагаться на psql и Runtime.exec()
Это отличный ресурс, я использовал его при написании самого кода. Он висел, но, по крайней мере, начал создавать БД, в отличие от этого. – rjohnston 2008-09-27 01:22:44