stsadm -o execadmsvcjobs come parte di un comando batch
-
16-10-2019 - |
Domanda
Quando si utilizza execadmsvcjobs stsadm -o come parte di un comando batch che stanno scoprendo che anche se il comando sta dicendo tutti i lavori sono stati eseguiti, i posti di lavoro non sono necessariamente a termine.
Questo significa che il nostro lavoro lotto successivo per la funzione di esempio, attivare può fallire come la soluzione non è stata distribuita nel tempo.
Abbiamo un ritardo nel file batch attualmente per risolvere questo, ma vorrei sapere se c'è una soluzione migliore.
tutto il meglio
Soluzione
EASJ ha diversi problemi.
Prima di tutto, non v'è alcuna garanzia che il dispiegamento riuscì dopo l'esecuzione EASJ. Dovrete chiamare ENUMSOLUTIONS e analizzare il codice XML restituito per vedere se la distribuzione wen bene.
In secondo luogo, EASJ controlla solo per l'occupazione nella SPAdministrationServiceJobDefinitionCollection della corrente del server Web front-end. Questo è probabilmente ciò che sta causando dolore quando si attiva caratteristiche: il lavoro potrebbe essere finito sul WFE in corso, ma non su tutto WFE. Un'altra variante di questo è che se si hanno implementato soluzioni in precedenza su WFE # 1 e che il lavoro è stato in qualche modo in fase di stallo, e si ri-distribuire la soluzione su WFE # 2 otterrete avvisi strani sui lavori in corso, ecc Questo è il motivo per è importante implementare sempre dalla stessa WFE!
estensione STSADM guru e MVP Gary Lapointe ha un'estensione che dovrebbe affrontare il problema più tardi, e quindi al sicuro (r) da utilizzare negli script: http://stsadm.blogspot.com/2008/10/better -execadmsvcjobs-stsadm-command.html
AFAICS egli pretende molto affrontare il fatto che una distribuzione potrebbe verificarsi durante la distribuzione però.
A proposito della soluzione PowerShell: mentre suona interessante, potrebbe diventare complesso abbastanza veloce (abbiamo creato una soluzione di distribuzione in PowerShell e credetemi non era picnic). Anche un sacco di logica relativa distribuzione sono classi interne (come SPTimerStore). E 'sicuramente fattibile, però: -)