Weryfikacja i typowe problemy - Python

3 min czytania Aktualizacja: 11.09.2026

Na tej stronie Kontrolowane zdarzenie
  1. Kontrolowane zdarzenie
  2. Typowe problemy
  3. client.enabled jest False mimo ustawionych zmiennych
  4. Zdarzenie zaplanowane przez send_later() nigdy nie dotarło
  5. HTTPException pojawia się w panelu jako transakcja, nie jako błąd
  6. W nagłówkach żądania brakuje Authorization, Cookie i X-Api-Key
  7. Transakcje nie pojawiają się w ogóle
  8. Ręcznie zgłoszony wyjątek nie dotarł
  9. Panel odpowiada 200, ale zdarzenia nie ma
  10. Nadal nie działa

Kontrolowane zdarzenie

python
import asyncio
from dock_ray import DockRayClient

async def main():
    client = DockRayClient(token="...", private_key="...")
    await client.capture_message("Kontrolny komunikat DockRay")
    await client.close()

asyncio.run(main())

Wywołanie jest korutyną - bez await albo uruchomienia w pętli zdarzeń nic się nie wyśle. Interpreter w wersjach z ostrzeżeniami o nieoczekiwanych korutynach zgłosi to od razu jako RuntimeWarning.

Typowe problemy

client.enabled jest False mimo ustawionych zmiennych

Sprawdź, czy token i klucz prywatny trafiły do konstruktora jako niepuste stringi. DockRayClient() bez argumentów jest poprawną, celowo nieaktywną konfiguracją, więc literówka w nazwie zmiennej środowiskowej albo pominięty os.environ.get(...) daje dokładnie ten sam, cichy efekt. Klient nie czyta zmiennych serwerowych sam - w przeciwieństwie do integracji PHP, tu poświadczenia zawsze podaje wywołujący kod.

Zdarzenie zaplanowane przez send_later() nigdy nie dotarło

send_later() trzyma referencję do zadania aż do jego zakończenia, ale sam proces musi dożyć tego zakończenia. W krótkim skrypcie, który kończy się zaraz po zaplanowaniu wysyłki, zadanie bywa przerwane w połowie. Zamknij aplikację przez await client.close() - czeka na każde zaplanowane wysłanie, zanim odda sterowanie dalej.

HTTPException pojawia się w panelu jako transakcja, nie jako błąd

To zamierzone zachowanie, nie usterka. FastAPI obsługuje HTTPException, zanim dotrze ona do middleware'u DockRay, więc żądanie zakończone kodem 404 albo 422 jest po prostu transakcją z tym kodem statusu. Jeśli zależy Ci na widzeniu takich odpowiedzi jako błędów, przechwyć je własnym handlerem wyjątków ustawionym przed middleware'em i zaraportuj ręcznie przez capture_exception().

Middleware wycina je z raportowanych danych zawsze, niezależnie od konfiguracji - to nie jest coś, co da się włączyć z powrotem. Jeśli diagnoza wymaga ich zawartości, sprawdzaj je lokalnie, poza panelem.

Transakcje nie pojawiają się w ogóle

Sprawdź, czy middleware jest w ogóle dodane (app.add_middleware(DockRayFastAPIMiddleware, ...)) i czy testowana ścieżka nie jest akurat na liście exclude_paths. Domyślnie schodzą z niej /health i /metrics.

Ręcznie zgłoszony wyjątek nie dotarł

Sprawdź, czy wywołanie capture_exception() jest rzeczywiście poprzedzone await albo przekazane do send_later() - korutyna, której nikt nie uruchomił, nie robi nic, a Python nie zawsze sygnalizuje to głośno.

Panel odpowiada 200, ale zdarzenia nie ma

Odpowiedź 200 {"success": false} znaczy, że konto wyczerpało miesięczny limit błędów. Integracja nie traktuje tego jak awarii - i słusznie. Limit widzisz na pulpicie konta; do końca miesiąca liczy się z zapisanego zużycia, więc nie zresetuje go usunięcie błędów.

Nadal nie działa

Przejdź przez listę kontrolną braku danych w panelu, a jeśli to nie pomoże - napisz do nas. Podaj nazwę projektu, wersję integracji i przybliżoną godzinę testu: to skraca drogę do odpowiedzi.

Czytaj dalej

Newsletter DockRay

Bezpieczeństwo aplikacji w Twojej skrzynce

Najważniejsze podatności, konkretne zalecenia i praktyczne wskazówki dla Twoich aplikacji. Wybierz technologie i śledź to, co ma znaczenie dla Twojego projektu.

  • Codzienne zestawienie nowych podatności, także krytycznych.
  • Powiadomienia o ważnych aktualizacjach.
  • Praktyczne porady o bezpieczeństwie i monitoringu aplikacji.

Pozostaw puste, aby otrzymywać informacje o wszystkich technologiach.

Zapis jest bezpłatny. Wypiszesz się jednym kliknięciem w wiadomości.