2015-04-07 2 views
0

Я использую Jenkins в Windows и хочу запустить csscript, который запускает приложение и выполняет автоматические тесты, теперь я хочу создать тайм-аут, так что если приложение работает около 30 минут, он будет убит,Jenkins - Пакетное ожидание до тех пор, пока процесс не завершится и не сработает, если он зависает

У меня есть этот пакетный скрипт: сначала я создаю цикл FOR, который ждет, пока приложение заработает, а затем еще один цикл FOR, который проверяет, превышает ли приложение более 25 минут.

Проблема в том, что я получаю эту ошибку в первом цикле Обработанные файловые дескрипторы. См http://wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build для получения дополнительной информации Я прочитал информацию на вики, но на самом деле не понимаю, как решить мою проблему Пожалуйста, помогите

start cscript //nologo D:\tets.vbs 
FOR /L %%A IN (1,1,20) DO (
    echo Round number %%A 

    REM find the running executable 
    tasklist | find /I /C "App.exe" > nul 
    echo ERRORLEVEL is !ERRORLEVEL! 
    IF !ERRORLEVEL! EQU 0 EXIT 

    rem wait 3 seconds 
    ping 1.1.1.1 -n 1 -w 3000 > nul 
) 
FOR /L %%U IN (1,1,50) DO (
    echo Round number %%U 

    REM find the running executable 
    tasklist | find /I /C "App.exe" > nul 
    echo ERRORLEVEL is !ERRORLEVEL! 
    if !ERRORLEVEL! EQU 1 EXIT 

    rem wait 30 seconds 
    ping 1.1.1.1 -n 1 -w 30000 > nul 
) 
echo TASKILL 
taskkill /f /im App.exe 

ответ

0

Если вы хотите таймаут сборки, используйте Build-timeout plugin

Редактировать:
Ссылка на статью, которую вы указали, предназначена для использования команды at. Вместо того, чтобы:
start cscript //nologo D:\tets.vbs
использование
at %time% start cscript //nologo D:\tets.vbs
Вы должны будете вычислить следующий %time% (в минутах), и, очевидно, работе придется ждать, что минуты, чтобы начать, так что в лучшем случае второй задержки 1, в хуже 59-секундная задержка.

+0

Спасибо за предложение, но в случае тайм-аута я хочу, чтобы Jenkins запускал следующий csscript и не прерывал всю сборку – Epligam

+0

Отредактировал ответ – Slav

+0

hmmm, можете ли вы отправить пример, как реализовать это в пакетном файле? – Epligam

Смежные вопросы