2009-08-25 19 views
6

Mam zadanie licznika czasu, które zostało wdrożone na serwerze z wieloma interfejsami sieci Web.Zadania timera programu SharePoint nie są wywoływane

  • To zadanie czasomierza odczytuje jego konfigurację z Hierarchicznego magazynu obiektów.
  • To zadanie czasowe jest uruchamiane codziennie na serwerze.

Problem polega jednak na tym, że zadanie czasomierza nie jest wywoływane codziennie. Zaimplementowałem rejestrowanie zdarzeń w metodzie Execute() zadania timera, ale nie widzę żadnych generowanych dzienników.

  • Jakieś pomysły co do tego, co mogłoby spowodować, że praca czasomierza nie być odebrany w celu wykonania przez SharePoint timera? Jak mogę rozwiązać ten problem?

  • Czy są jakieś "gotowe" do uruchamiania zadań czasowych na serwerach z wielu interfejsów? Czy praca z timerem zostanie wykonana we wszystkich frontach sieci, czy też w którejkolwiek z nich arbiternie? Jak sprawdzić, które urządzenie będzie mieć moje dzienniki zdarzeń?

  • To może być głupie pytanie, ale czy posiadanie wielu interfejsów do równoważenia obciążenia wpływa na zachowanie Hierarchicznych Magazynów Obiektów?

EDIT:

Jeden z komentujących, Sean McDounough, (Dzięki Sean !!) zanotował bardzo dobry punkt, że:

„czy praca zegar działa na wszystkie WFE będą funkcją wartości wyliczeniowej SPJobLockType określonej w konstruktorze. Używanie wartości "Brak" oznacza, że ​​zadanie będzie działać we wszystkich WFE. "

Teraz moja praca czasowa jest odpowiedzialna za wysyłanie okresowych wiadomości do listy użytkowników. Obecnie jest ona oznaczona jako SPJobLockType.Job”

  • Jeśli zmienię to SPJobLockType.None, to znaczy, że moja praca zegar zostanie wykonana we wszystkich WFEs osobno? (Nie jest to potrzebne, to będzie spam wszyscy użytkownicy z wielu e-maili)

  • A to oznacza, że ​​zadanie czasomierz wykona któregokolwiek z WFEs, arbitralnie?

Odpowiedz

9

Spróbuj ponownie uruchomić usługę czasomierza SharePoint z wiersza polecenia przy użyciu NET STOP SPTIMERV3, a następnie NET START SPTIMERV 3. Domyślam się, że usługa licznika czasu działa ze starszą wersją twojego zestawu .NET. Usługa zegara nie automatycznie ponownie ładuje złożeń, gdy aktualizujesz rozwiązanie WSP.

+4

Doskonały punkt Larsa, i taki, który zwykle przyciąga programistów (zarówno nowych, jak i doświadczonych), którzy pracują z usługą timera. Jeszcze jeden ważny aspekt dla ciebie, ashwnacharya: to, czy zadanie timera działa na wszystkich WFE, będzie funkcją wartości wyliczeniowej SPJobLockType określonej w konstruktorze. Używanie wartości "Brak" oznacza, że ​​zadanie będzie działać we wszystkich WFE. Wartość "Zlecenie" oznacza jednak, że będzie działać tylko na jednym serwerze - tym, na którym przesłałeś zadanie (chyba że wskazałeś konkretny SPServer w swoim konstruktorze). –

+0

Czy masz pewność, że TimerJopb działa na twoim komputerze? Jeśli nie, sprawdź moje pytanie na http://stackoverflow.com/questions/985581/debugging-sharepoint-timer-jobs, aby sprawdzić, czy coś pójdzie nie tak ... – Colin

+1

Dosłownie uratowałeś mi życie. – ragebiswas

2

Aby to zrobić, wykonaj następujące kroki:

  • Zatrzymaj usługę timera.
  • Kliknij przycisk Start, wskaż polecenie Narzędzia administracyjne, a następnie kliknij Usługi.
  • Kliknij prawym przyciskiem myszy program Windows SharePoint Services Timer, a następnie kliknij polecenie Zatrzymaj lub uruchom ponownie usługę.

Ten serwis pomógł mi w tym URL.

Powiązane problemy