Przejdź do treści głównej

Kolejka zadań

Praca A-Parser opiera się na kolejce zadań - dodajesz zadania, a one są wykonywane po kolei, co pozwala na obciążenie scrapera pracą na długi czas bez konieczności monitorowania, kiedy skończy on działanie.

Kolejka zadań

Główne zalety kolejki zadań w A-Parser

  • Wsparcie dla wykonywania kilku zadań jednocześnie
  • Wstrzymywanie i całkowite zatrzymywanie wykonywania zadania
  • Zapisywanie pośrednich wyników pracy zadań, co pozwala kontynuować pracę od momentu wyłączenia scrapera (lub wyłączenia komputera\serwera)
  • Przenoszenie poszczególnych zadań w kolejce
  • Możliwość edycji już utworzonych zadań, a także kopiowanie zadań do ponownego użycia
  • Zakończone zadania trafiają do kolejki zakończonych zadań, gdzie można przejrzeć wyniki pracy każdego zadania i pobrać rezultat

Algorytm działania

Algorytm kolejki

Robocze sloty zadań

Liczba jednocześnie pracujących zadań jest regulowana przez robocze sloty, parametr ten określa się w ustawieniach ogólnych (Settings -> Global Settings -> Max active tasks). Standardowo ustawiona jest wartość 1, tzn. jedno jednocześnie pracujące zadanie, inne będą oczekiwać na swoją kolej.

Statusy zadania w kolejce

Każde zadanie posiada swój status, oto lista możliwych stanów:

StatusOpis
waitSlotOczekiwanie na wolny slot w celu wykonania zadania, nowe zadanie zawsze trafia do kolejki z tym statusem
workZadanie jest wykonywane
pausedZadanie zostało wstrzymane, przy czym zajmuje ono slot roboczy, nie pozwalając na uruchomienie kolejnych zadań
stoppedZadanie zostało zatrzymane, co zwalnia slot roboczy
completedZadanie zakończone - wszystkie zapytania zostały przetworzone, zadanie przechodzi do kolejki zakończonych zadań, slot roboczy zostaje zwolniony

Przy ustawieniu parametru Max active tasks (Maksimum aktywnych zadań) powyżej jednego należy wziąć pod uwagę, że liczba wątków wzrośnie, podobnie jak ogólne zużycie zasobów przez scraper.

wskazówka

Aby osiągnąć maksymalną prędkość pracy, zawsze używaj tylko jednego zadania z dobraną optymalną liczbą wątków dla konkretnego komputera\serwera.