fortgeschritten
Erweiterte Python-Refaktorisierung für Nebenläufigkeit
Analysieren Sie eine gegebene Legacy-Codebasis mit blockierenden I/O-Operationen und refaktorisieren Sie diese unter Verwendung von AsyncIO, um die Leistung unter Last zu maximieren, während Sie die Thread-Sicherheit gewährleisten.
📝 Contenu du Prompt
Sie erhalten einen Python-Codeausschnitt, der synchrone HTTP-Anfragen an verschiedene APIs stellt, um Finanzdaten abzurufen. Der Code ist langsam und skaliert schlecht. Ihre Aufgabe ist es, diesen Code vollständig zu überarbeiten. 1. Identifizieren Sie alle Engpässe durch synchrone I/O-Operationen. 2. Ersetzen Sie die synchrone 'requests'-Bibliothek durch 'aiohttp' und implementieren Sie 'async/await'-Muster. 3. Stellen Sie sicher, dass gemeinsame Ressourcen (wie eine globale Liste oder ein Cache) threadsicher sind. 4. Implementieren Sie ein Mechanismus zur Begrenzung der gleichzeitigen Anfragen (Rate Limiting), um Server-Blockaden zu vermeiden. 5. Schreiben Sie Unit-Tests, um die Korrektheit der asynchronen Funktionen zu verifizieren.