Tengo un trabajo del temporizador que se ha implementado en un servidor con varias interfaces web.No se invocan los trabajos del temporizador de SharePoint
- Este trabajo del temporizador lee su configuración desde un Almacén de objetos jerárquicos.
- Este trabajo del temporizador está programado para ejecutarse diariamente en el servidor.
Pero el problema es que este trabajo del temporizador no se invoca a diario. Implementé el registro de eventos en el método Execute() del trabajo del temporizador, pero no veo que se generen registros.
Alguna idea de lo que podría causar un trabajo del temporizador no se recogió para su ejecución por el servicio de temporizador de SharePoint? ¿Cómo puedo solucionar este problema?
¿Hay algún problema para ejecutar trabajos de temporizador en servidores desde múltiples interfaces? ¿El trabajo del temporizador se ejecutará en todas las interfaces web, o cualquiera de ellas arbitrariamente? ¿Cómo saber qué máquina tendrá mis registros de eventos?
Esto podría ser una pregunta estúpida, pero ¿tener varios frontales para equilibrar la carga afecta la forma en que se comportan las Tiendas de objetos jerárquicos?
EDIT:
Uno de los comentaristas, Sean McDounough, (Sean Gracias !!) hizo un muy buen punto de que:
"si o no el trabajo del temporizador se ejecuta en todas las WFE serán una función del valor de enum SPJobLockType que especificó en el constructor. Usar el valor "None" significa que el trabajo se ejecutará en todas las WFE.
Ahora, mi tarea de temporizador es responsable de enviar correos periódicos a una lista de usuarios. Actualmente, se marca como SPJobLockType.Job"
Si cambio a este SPJobLockType.None, ¿esto significa que mi trabajo del temporizador se ejecutará en todo el WFE por separado? (Esto no es deseado, lo hará el spam todos los usuarios con múltiples correos electrónicos)
o significa que el trabajo del temporizador se ejecutará en cualquiera de la WFE, arbitrariamente?
Excelente punto por Lars, y uno que comúnmente atrapa a los desarrolladores (tanto nuevos como experimentados) que trabajan con el servicio de temporizador. Un punto adicional para usted, ashwnacharya: si el trabajo del temporizador se ejecuta en todas las WFEs será una función del valor enum SPJobLockType que especificó en el constructor. El uso de un valor de "Ninguno" significa que el trabajo se ejecutará en todas las WFE. Sin embargo, un valor de "Trabajo" significa que se ejecutará en un solo servidor: aquel en el que envió el trabajo (a menos que haya indicado un SPServer específico en su constructor). –
¿Asumo que tenías el TimerJopb ejecutándose en tu máquina de desarrollo? Si no, mira mi pregunta en http://stackoverflow.com/questions/985581/debugging-sharepoint-timer-jobs, para ver si algo sale mal ... – Colin
Literalmente salvaste mi vida. – ragebiswas