P
python-background-jobs
Oddziel długotrwałe zadania od żądań użytkownika — przetwarzaj asynchronicznie w tle
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Umiejętność do implementacji wzorców zadań w tle dla Pythona. Obsługuje kolejki zadań, pracowników asynchronicznych i architekturę sterowaną zdarzeniami. Pozwala natychmiast odpowiedzieć użytkownikowi, podczas gdy procesy w tle obsługują ciężkie operacje — wysyłanie e-maili, generowanie raportów, przetwarzanie plików czy integracje z zewnętrznymi serwisami. Opiera się na Celery, ale wspiera też alternatywy takie jak RQ, Dramatiq i rozwiązania chmurowe (AWS SQS, GCP Tasks).
Jak używać
- Zainstaluj Celery i brokera wiadomości (np. Redis): pip install celery redis. 2. Zdefiniuj aplikację Celery i zadania za pomocą dekoratora @app.task — każde zadanie to funkcja wykonywana w oddzielnym procesie roboczym. 3. W obsługiwaczu API zamiast bezpośredniego wykonania funkcji użyj metody .delay() aby wysłać zadanie do kolejki i natychmiast zwrócić identyfikator zadania użytkownikowi. 4. Uruchom pracownika Celery (celery -A tasks worker --loglevel=info) aby przetwarzał zadania z kolejki asynchronicznie. 5. Zaprojektuj zadania jako idempotentne — mogą być ponawiane w przypadku awarii, dlatego muszą bezpiecznie obsługiwać duplikaty i przejścia stanów (pending → running → succeeded/failed). 6. Monitoruj stan zadań poprzez identyfikatory zwrócone użytkownikowi, aby umożliwić śledzenie postępu długotrwałych operacji.