MSDeploy: ошибка при использовании поставщика runCommand для вызова удаленного файла .cmd (время ожидания)

Мы сталкиваемся с ошибкой при попытке использовать поставщик MSDeploy runCommand для выполнения файла .cmd на удаленном компьютере. Ожидаемое время выполнения должно составлять около 10 секунд, но MSDeploy выполняет его только около 2-3 секунд, после чего возвращаются сведения об ошибке.

Вот полный текст командной строки MSDeploy runCommand, который я использую:

msdeploy.exe -verb:sync -source:runCommand="D:\web deploy tester\test_cmd.cmd",dontUseCommandExe=false,waitAttempts=5,waitInterval=1000 -dest:auto,computername=http://test-machine:89/MsDeployAgentService/,userName=aaa,password=bbb

Вот возвращенные сведения об ошибке:

Error 'Error: (4/21/2010 12:19:25 PM) An error occurred when the request was processed on the remote computer.
Error: The process 'C:\WINDOWS\system32\cmd.exe' (command line '/c "D:\web deploy tester\test_cmd.cmd"') was terminated because it exceeded the wait time.
Error count: 1.
' occurred in call to RunCommand

Любые идеи относительно того, почему это происходит и как это решить?


person dabulls    schedule 22.04.2010    source источник
comment
У меня та же проблема, независимо от того, какой waitInterval я указываю, msdeploy немедленно возвращает эту ошибку, когда она явно не ждала указанное время перед ошибкой.   -  person Andrew Bullock    schedule 13.09.2010
comment
Я заметил, что когда я использовал это в пакетном файле и использовал ", я сделал ошибку, включив waitInterval в кавычки для пути к команде, а не вне его: ..",waitInterval..   -  person The Muffin Man    schedule 23.04.2014


Ответы (1)


Вы должны указать более высокое значение waitInterval. Это значение в миллисекундах. Вы можете попробовать 20000 (20 секунд). Значение по умолчанию — 1000.

person Sayed Ibrahim Hashimi    schedule 01.05.2010
comment
Спасибо за ответ, Саид. Я попробовал ваше предложение и даже дал процессу несколько минут для завершения, но это не решает проблему. Кроме того, согласно документации runCommand, кажется, что упомянутая вами настройка - это продолжительность интервала между повторными попытками, а не время, отведенное удаленной команде для завершения ее выполнения до истечения времени ожидания. .cmd можно без проблем запустить из командной строки на локальном компьютере, а учетная запись, выполняющая операцию, имеет права администратора. Любые другие теории относительно того, почему это происходит? - person dabulls; 04.05.2010
comment
Ненавижу это говорить, но я тоже. У меня есть runCommand в моем SourceManifest.xml, и waitInterval/waitAttempts, похоже, игнорируются - person Peter McEvoy; 14.05.2011
comment
Мне удалось заставить MsDeploy.exe делать что-то еще, кроме значения по умолчанию, установив waitAttempts=1 и waitInterval=20000, но это не то, что я ожидал, и я отказался от поставщика runCommand - person Peter McEvoy; 14.05.2011
comment
Попытка указать это через манифест ничего не дает. То же самое, если я взломаю zip-файл и добавлю атрибуты в archive.xml. - person Merlyn Morgan-Graham; 04.10.2011
comment
Мне показалось, что я помню, как добавил дополнение к моему последнему комментарию... Во всяком случае, неважно, что я сказал. Я просто неправильно обновлял свои пакеты. Если вы сомневаетесь, выполните полную сборку, удалите каталог obj, полностью перестройте и переупакуйте. Кажется, что некоторые параметры не обновляются, если вы этого не сделаете. - person Merlyn Morgan-Graham; 09.11.2011