SPJobDefinition.Execute a funcionar mas não mostrá-lo correu em Central Admin
-
06-07-2019 - |
Pergunta
Eu estou usando SPJobDefinition.Execute para forçar explicitamente um trabalho de timer para executar um pouco de testes. As pistas de trabalho, mas o tempo que última execução não mudou em qualquer 'Temporizador status do trabalho' ou 'Temporizador definições de trabalho'. Como este não foi executado antes, forçando-o nem sequer aparece em 'estado do trabalho de timer'. Lembro-me que ele fez atualizar o último tempo de execução dentro administração central quando eu última tentei isso. Assim, ou algo está quebrado e não está atualizando o status, ou não atualizar o status do projeto e eu estou enganado sobre isso fazê-lo pela última vez.
Solução
Eu descobri que Owstimer.exe não acabar fazendo a execução. Eu escrevi um aplicativo de console, que fez a chamada para SPJobDefinition.Execute e verifica-se que Executar não programá-lo para correr lá e, em seguida, mas na verdade carrega a dll para o trabalho e executa-lo no processo. Imagino que um efeito colateral disso é que ele não é executado sob a agenda e assim Central Admin não mostra que ele correu.
Outras dicas
Eu tive problema semelhante, a solução foi para reiniciar o serviço 'SharePoint 2010 Temporizador' (para recarregar a DLL trabalho).