Skip to content

Queues (Kolejki)

System kolejek w Code Generation Manager zapewnia efektywne zarządzanie kolejkowaniem zadań, umożliwiając kontrolowane wykonywanie operacji z różnymi priorytetami.

🎯 Przegląd systemu kolejek

System kolejek oferuje:

  • 🔄 Asynchroniczne przetwarzanie zadań
  • ⚡ Priorytetyzację zadań
  • 📊 Monitorowanie wydajności kolejek
  • 🔍 Śledzenie zadań w kolejkach
  • 🎛️ Ręczne zarządzanie przez interfejs /queues/

🎛️ Zarządzanie kolejkami

Dostęp do zarządzania kolejkami

System kolejek jest dostępny przez dedykowany endpoint /queues/, który umożliwia:

  • Podgląd statusu wszystkich kolejek
  • Ręczne uruchamianie kolejek
  • Zatrzymywanie kolejek
  • Monitorowanie aktywnych zadań

Ręczne uruchamianie kolejek

⚠️ WAŻNE - RĘCZNE URUCHAMIANIE KOLEJEK

Kolejki wymagają ręcznego uruchomienia przez interfejs /queues/!

Nie uruchamiają się automatycznie po starcie systemu.

Proces uruchamiania:

  1. Przejdź do /queues/ - interfejs zarządzania kolejkami
  2. Wybierz kolejkę do uruchomienia
  3. Kliknij "Start" - uruchomienie kolejki
  4. Monitoruj status - śledzenie aktywności

Bez ręcznego uruchomienia kolejki nie będą przetwarzać zadań!

Zachowanie przy zatrzymywaniu

🔄 Inteligentne zatrzymywanie: Kolejki zatrzymują się automatycznie na określony czas przed końcem (konfigurowalny parametr), ale zadania, które są już w trakcie wykonywania, zostaną dokończone zgodnie z założeniami.

Mechanizm zatrzymywania:

  • Zatrzymanie kolejki - nowe zadania nie są przyjmowane
  • Dokończenie aktywnych - zadania w trakcie są kontynuowane
  • Zachowanie wyników - wszystkie wyniki są zapisywane
  • Automatyczne przejście - system przechodzi do następnej sesji jeśli potrzebna

Przykład zachowania:

Czas: 14:55 - Kolejka zatrzymuje się (5 min przed końcem)
Czas: 14:56 - Zadanie A jest w trakcie → kontynuuje się
Czas: 14:58 - Zadanie A kończy się → wynik zapisany
Czas: 15:00 - Sesja kończy się, kolejka gotowa do następnej sesji

📋 Typy kolejek

1. FIFO Queue (First In, First Out)

  • Zadania są wykonywane w kolejności dodania
  • Sprawiedliwy system dla zadań o podobnym priorytecie
  • Przewidywalny czas oczekiwania