Domanda

Sto usando SPJobDefinition.Execute per forzare esplicitamente l'esecuzione di un processo timer per un po 'di test. Il lavoro viene eseguito ma l'ultima volta che è stato eseguito non è cambiato né in "Stato lavoro timer" né in "Definizioni lavoro timer". Dato che non è mai stato eseguito prima, forzarlo non appare nemmeno in "Stato processo timer". Ricordo che ha aggiornato l'ultimo runtime all'interno dell'amministratore centrale l'ultima volta che ho provato questo. Quindi, o qualcosa è rotto e non sta aggiornando lo stato, o non aggiorna lo stato in base alla progettazione e mi sbaglio a farlo nell'ultima volta.

È stato utile?

Soluzione

Ho scoperto che OWSTIMER.exe non finisce per eseguire l'esecuzione. Ho scritto un'app console che ha fatto la chiamata a SPJobDefinition.Execute e si scopre che Execute non lo pianifica per l'esecuzione lì e quindi, ma carica effettivamente la dll per il lavoro e la esegue nel processo. Immagino che un effetto collaterale di ciò sia che non funziona secondo il programma e quindi l'amministratore centrale non mostra che è stato eseguito.

Altri suggerimenti

Ho avuto un problema simile, la soluzione era riavviare il servizio "Timer di SharePoint 2010" (per ricaricare la DLL del lavoro).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top