Przejdź do treści głównej
🔒 Tryb podglądu. Pierwszych piętnaście lekcji Foundations jest darmowych; ta jest Pro. Rozpocznij 7-dniowy trial, aby odblokować edytor, podpowiedzi AI i resztę kursu. Wymagana karta, anulujesz w dowolnym momencie w Dashboard.Rozpocznij 7-dniowy trial →
← KursySystem Design for Python JuniorsModuł 6 · Przypadki projektowania systemów w świecie rzeczywistymZaprojektuj skracacz adresu URL: najpierw obliczenia dotyczące pojemnościwrite81 / 105
+120 XP
Zadanie
📝 **Zadanie:** Zbuduj mały \`dead_letter_handler(msg, retry_count, max_retries)\`, który zwróci jedną z opcji: „retry”\`, \`„deadletter”\` lub „drop”\`: 1. \`msg.get("malformed", False) ma wartość True\` → \`"drop"\` (nigdy nie próbuj ponownie wprowadzać uszkodzonych danych — zakończy się to niepowodzeniem na zawsze). 2. \`retry_count < max_retries\` → \`"retry"\` (wciąż poniżej budżetu). 3. \`retry_count == max_retries\` → \`"deadletter"\` (wykorzystany budżet — trasa do DLQ w celu przeglądu operacji). 4. \`retry_count > max_retries\` → \`"drop"\` (już DLQ; kolejne błędy są usuwane po cichu, aby zatrzymać hałas). Ten wzorzec chroni każdą kolejkę produkcyjną przed burzami z trującymi wiadomościami. 📋 Zaimplementuj powyższą funkcję. Testy uruchamiają się automatycznie. 💡 **Wskazówka:** Jeśli utkniesz, przeczytaj ponownie teorię.
✏️ Pisz kod tutaj
🐍
Ładowanie Pythona...
Jednorazowe pobranie (~1 MB). Potem działa od razu.
📊 Wynik
Kliknij Uruchom, aby zobaczyć wynik...

💬 Dyskusja

Zadaj pierwsze pytanie lub podziel się wskazówką.
Zaloguj się aby dołączyć do dyskusji. Czytanie jest darmowe.
Ładowanie dyskusji…