2010-04-22 3 views
5

Si sta verificando un errore durante il tentativo di utilizzare il provider MSDeploy "runCommand" per eseguire un file .cmd su una macchina remota. Il tempo di esecuzione previsto dovrebbe essere di circa 10 secondi, ma MSDeploy lo esegue solo per circa 2-3 secondi, dopodiché vengono restituiti i dettagli dell'errore di tempo.MSDeploy: errore che utilizza il provider runCommand per chiamare il file .cmd remoto (timeout)

Ecco la completa MSDeploy "EseguiComando" testo riga di comando che sto usando:

    msdeploy.exe -verb: sync -source: EseguiComando = "D: \ Web Deploy tester \ test_cmd.cmd", dontUseCommandExe = false, waitAttempts = 5, waitInterval = 1000 -dest: auto, computername = http: // test-macchina: 89/MsDeployAgentService /, username = aaa, password = bbb

Ecco i dettagli di errore restituito:

    Errore errore: (4/21/2010 12:19:25 PM) Si è verificato un errore durante il richiamo è stato elaborato sul computer remoto.

    Errore: Il processo 'C: \ WINDOWS \ system32 \ cmd.exe' (riga di comando '/ c "D: \ web deploy tester \ test_cmd.cmd"') è stato interrotto perché ha superato il tempo di attesa. conteggio

    Errore: 1.

    'si è verificato in chiamata a RunCommand

Tutte le idee perché questo sta accadendo e come risolverlo?

+0

Ho lo stesso problema, indipendentemente dal waitInterval specificato, msdeploy restituisce immediatamente questo errore, quando chiaramente non ha atteso il tempo specificato prima dell'errore. –

+0

Ho notato che quando l'ho usato in un file batch e stavo usando '"' ho commesso l'errore di includere 'waitInterval' all'interno della citazione per il percorso del comando piuttosto che all'esterno:' .. ", waitInterval..' –

risposta

6

È necessario specificare un valore superiore di waitInterval. Questo valore è in millisecondi. Potresti provare 20000 (20 secondi). Il valore predefinito è 1000.

+2

Grazie per la risposta, Sayed. Ho provato il tuo suggerimento e ho anche dato il processo fino a pochi minuti per completare, ma questo non risolve il problema. Inoltre, secondo la documentazione di runCommand, sembra che l'impostazione da lei menzionata sia la durata dell'intervallo tra i tentativi, non il tempo consentito per il comando remoto di completare l'esecuzione prima del time-out. Il file .cmd può essere eseguito dal prompt dei comandi sulla macchina locale senza problemi e l'account che esegue l'operazione ha i privilegi a livello di amministratore. Qualche altra teoria sul perché questo sta accadendo? – dabuild

+1

Odio dirlo, ma "anche io". Ho un "runCommand" nel mio SourceManifest.xml, e waitInterval/waitAttempts sembrano essere ignorati –

+2

Sono riuscito a ottenere MsDeploy.exe per fare qualcosa di diverso da predefinito impostando waitAttempts = 1 e waitInterval = 20000, ma non è quello che ho previsto e hanno rinunciato al provider runcomommand –

Problemi correlati