BETA
Aby się zalogować, najpiew wybierz portal.
Aby się zarejestrować, najpiew wybierz portal.
Podaj słowa kluczowe
Słowa kluczowe muszą mieć co najmniej 3 sąsiadujące znaki alfanumeryczne
Pole zawiera niedozwolone znaki

Baza wiedzy











Kolejkowanie w Project Server 2007

22-09-2009 13:35 | Michał Bojko
Jednym z istotnych obszarów administracji Project Server 2007 są kolejki zadań. Zrozumienie kolejkowania w Project Server 2007 ułatwia analizę, konfigurację oraz troubleshooting i jest niezbędne każdemu administratorowi. Umiejętność konfiguracji tego obszaru usprawnia kontrolę nad kluczową część Project Server 2007.

Administracja Project Server 2007 to kontrola i monitorowanie wielu obszarów całego systemu. Jednym z istotnych elementów jest kolejka zadań.
Kolejką nazywamy strukturę, w której zdarzenia oczekują na przetworzenie, w sytuacji gdy system nie może przyjąć wszystkich zleconych zadań. Przykładem użycia kolejki może być aktualizacja timesheetów przez 20-osobowy zespół projektowy w jednym, krótkim okresie, na przykład na koniec tygodnia. System kolejkowania Project Server 2007 zbiera wszystkie żądania i przetwarza je asynchronicznie w trybie FIFO (First In First Out). Takie rozwiązanie zwiększa stabilność, eliminując niekontrolowane blokady podczas przetwarzania zdarzeń.
Zrozumienie kolejkowania w Project Server 2007 ułatwia analizę, konfigurację oraz troubleshooting i jest niezbędne każdemu administratorowi.

Słowniczek

Artykuł stanie się bardziej czytelny, jeżeli na początku zdefiniujemy hasła, które będą w nim często używane.
Zadanie to pakiet czynności do wykonania po przeprowadzeniu (przez system lub użytkownika) akcji. Każde zadanie ma nadane ID.
Pakietem w zadaniu nazywamy wszystkie elementy, które muszą zostać wykonane dla danej akcji, na przykład zapis projektu powoduje zapis danych w wielu tabelach w bazie danych Draft.
Grupa korelacji to zestaw zadań dobranych przez Project Server na podstawie jego wewnętrznych zasad. Zadania w grupie zawsze są wykonywane razem i w określonym porządku.

Tworzenie grupy korelacji

Kolejki dla projektu i timesheetów

System kolejkowania Project Server 2007 składa się z dwóch kolejek:

  • kolejka projektów - tabele i procedury składowane są w bazie Draft. Ta kolejka obsługuje zadania takie jak publikacja lub zapis projektu;
  • kolejka timesheetów - tabele i procedury składowane są w bazie Published. Ta kolejka obsługuje zadania takie jak publikacja i zapis timesheetów.

Obie kolejki zaprojektowano tak samo. Różnica jest jedynie w bazie danych. Zaleta rozwiązania to wyższa wydajność oraz elastyczność konfiguracji.

Zarządzanie Kolejkami

Aby parametryzować kolejki Project Server 2007, należy udać się do Project Web Access>Server Settings>Queue>Queue Settings.

Ustawienia Kolejki w Project Server

W panelu konfiguracyjnym kolejki mamy następujące parametry:

  • Queue Type - pozwala na wybór typu kolejki (Projekt lub Timesheet);
  • Maximum Number of Job Processor Threads - maksymalna przypadająca na zadanie liczba wątków, które mogą być jednocześnie wykonywane. Zakres liczby wątków: od 1 do 20, przy czym wartość domyślna wynosi 4;
  • Polling Interval - interwał pobierania nowych zadań z bazy danych. Zakres czasu w milisekundach: od 500 do 300 000, wartość domyślna: 1000;
  • Retry Interval - odstęp między próbami ponownego wykonania zadania, w przypadku gdy wystąpił błąd bazy danych. Zakres czasu w milisekundach: od 0 do 300 000, wartość domyślna: 1000. Wartość 0 oznacza natychmiastową próbę ponownego wykonania zadania;
  • Retry Limit - parametr ściśle związany z Retry Interval, definiujący liczbę prób ponownego wykonania zadania. Zakres liczby ponowień: od 0 do 100, wartość domyślna: 5. Wartość 0 oznacza brak prób ponowienia;
  • SQL Retry Interval - kolejka pobiera w regularnych odstępach zadania, które muszą zostać wykonane. Jeżeli zapytanie nie zostanie wykonane z powodu błędu, kolejka zapyta bazę danych o zadania w zdefiniowanych odstępach czasu. Zakres czasu w milisekundach: od 0 do 60 000, wartość domyślna: 1000;
  • SQL Retry Limit - parametr ściśle związany z SQL Retry Interval, definiujący liczbę prób ponownego przesłania zapytania do bazy danych. Zakres liczby ponowień: od 0 do 100, wartość domyślna: 5. Wartość 0 oznacza brak prób ponowienia.
  • SQL Timeout - parametr definiujący czas, po którym zapytanie do bazy danych zostanie uznane za przedawnione. Zakres sekund: od 30 do 86 400, wartość domyślna: 1800.
  • Cleanup Interval - parametr definiujący częstotliwość czyszczenia kolejki. Zakres czasu w godzinach: od 1 do 100 000, wartość domyślna: 24.
  • Cleanup Interval Offset - parametr definiujący godzinę, kiedy kolejka zostanie wyczyszczona. Zakres czasu w minutach: od 0 do 1439, wartość domyślna: 0. Wartość 0 oznacza północ.
  • Cleanup Age Limit for Successful Jobs - parametr definiujący okres, po którym poprawnie zakończone zadanie może zostać usunięte. Zakres czasu w godzinach: od 1 do 100 000, wartość domyślna: 24.
  • Cleanup Age Limit for Non-Successful Jobs - parametr definiujący okres, po którym niepoprawnie zakończone zadanie może zostać usunięte. Zakres czasu w godzinach: od 1 do 100 000, wartość domyślna: 168.
  • Bookkeeping Interval - parametr definiujący interwał uruchamiania zadań administracyjnych przez Project Server 2007. Takie zadania to na przykład wyczyszczenie kolejki. Zakres czasu w milisekundach: od 500 do 300 000, wartość domyślna: 10 000.
  • Queue Timeout - parametr definiujący czas, po którym kolejka uznawana jest za nieaktualną. System nie zarejestrował żadnej akcji w kolejce na bazie danych. Zakres czasu w minutach: od 2 do 20, wartość domyślna: 3;
  • Fast Polling - parametr, który - jeżeli jest włączony - staje się nadrzędny nad parametrem Polling Intreval. Włączony Fast Polling oznacza, że wszystkie zadania w stanie Waiting to be Processed zostaną obsłużone jak najszybciej. Serwer nie będzie czekał na następną próbę pobrania zadań z bazy zadań, tylko wykona te, które są już w kolejce. Gdy parametr jest wyłączony, serwer wykona zadania, jeżeli ma wolne wątki.

Stany kolejkowania

Wszystkie zadania w kolejce muszą przejść kolejne stany przetwarzania. Znajomość znaczenia każdego stanu jest niezbędna do poprawnego troubleshootingu. Wiedza o tym:

  • jakie zadania mogą być raz jeszcze przetworzone w przypadku błędu,
  • podstawowe przyczyny wystąpienia stanu zadania

pomoże każdemu administratorowi.
Aby zobaczyć dostępne stany zadania, można przejść do Server Settings>Queue>Manage Queue.

Przykład działania kolejki

Tabela opisuje szczegółowo każdy stan zadania w kolejce.

Opis stanów kolejki

Grafika poniżej ilustruje macierz stanów zadania w kolejce.

Macierz stanów

Screencast - przejścia stanów kolejki

Aby zwizualizować przejścia stanów kolejki, zamieszczam krótki screencast pokazujący, jak zadania mogą przemieszczać się pomiędzy stanami.

Link do screencasta

Podsumowanie

Zrozumienie działania systemu kolejkowania w Project Server 2007 ułatwi życie każdemu administratorowi. Rozpoznawanie stanów, zapamiętanie kolejności działań oraz wiedza na temat architektury grup korelacji umożliwiają kontrolowanie całego systemu. Dzięki temu można w pełni korzystać z niezawodnego systemu wspomagającego zarządzanie projektami.

Kolejkowanie - test

Tych, którzy lubią wyzwania, zapraszam na krótki kursu e-learning z testem (pod IE7 - szczegółowe wymagania tu).

Autor:

 

Michał Bojko

Pracuje w międzynarodowej firmie zajmującej się produkcją i wdrażaniem systemów Sharepoint.

Komentarze 0

pkt.

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.