rust-async-patterns
Lernen Sie async Rust-Muster schnell
Async Rust kann schwer zu strukturieren und zu debuggen sein. Diese Fähigkeit bietet klare Muster für Tokio-Tasks, Channels, Streams und Fehler.
Die Skill-ZIP herunterladen
In Claude hochladen
Gehe zu Einstellungen → Fähigkeiten → Skills → Skill hochladen
Einschalten und loslegen
Teste es
Verwendung von "rust-async-patterns". Explain how to limit concurrency for async HTTP requests in Tokio.
Erwartetes Ergebnis:
- Verwende einen Stream über URLs und wende buffer_unordered mit einem Limit an
- Sammle Ergebnisse und behandle Fehler pro Request
- Vermeide unbegrenztes Spawning, um Speicher und Sockets zu schützen
Verwendung von "rust-async-patterns". Show me how to coordinate between async tasks using channels.
Erwartetes Ergebnis:
- Verwende mpsc::channel für die Eins-zu-Eins-Kommunikation zwischen Producer und Consumer
- Verwende broadcast::channel, wenn mehrere Consumer dieselbe Nachricht benötigen
- Verwende oneshot::channel, wenn du eine einzelne Antwort von einem spawnten Task benötigst
Verwendung von "rust-async-patterns". How do I handle errors in async Rust code properly?
Erwartetes Ergebnis:
- Verwende anyhow für Anwendungsebenen-Fehler mit Context-Chaining
- Verwende thiserror für Library-Code, um benutzerdefinierte Fehlertypen zu erstellen
- Wickle Operationen mit Timeout ein, um unendliches Hängen zu verhindern
Sicherheitsaudit
SicherPure educational documentation containing Rust async programming examples. All static findings are false positives: 'process spawn' refers to tokio::spawn for async task management (not command execution), 'backtick execution' refers to markdown code formatting, and 'weak cryptographic algorithm' refers to keywords in documentation fields. The skill contains no tool definitions, file access, network calls, or command execution capabilities.
Risikofaktoren
🌐 Netzwerkzugriff (6)
⚙️ Externe Befehle (39)
Qualitätsbewertung
Was du bauen kannst
Concurrent Services erstellen
Wenden Sie strukturierte Muster für Task-Orchestrierung, Fehlerbehandlung und Shutdown in async Rust Services an.
Async Deadlocks debuggen
Verwenden Sie Tracing-Anleitungen und häufige Fallstricke, um festgefahrene Tasks und Lock-Missbrauch zu diagnostizieren.
Async-Konzepte lernen
Lernen Sie Futures, Await, Streams und Channels mit kurzen, fokussierten Beispielen.
Probiere diese Prompts
Gebe ein kurzes Tokio async Main-Beispiel mit Tracing und einem simulierten async-Aufruf. Erkläre jeden Schritt in einem Satz.
Zeige ein Muster zum Begrenzen von concurrent async Tasks für eine Liste von URLs mit Tokio oder Futures-Streams.
Erkläre einen Graceful-Shutdown-Ansatz mit CancellationToken und einem Shutdown-Broadcast-Channel.
Stelle ein async Trait-Design für ein Repository mit get, save und delete bereit und notiere die Trait-Objekt-Verwendung.
Bewährte Verfahren
- Verwende tokio::select! um Futures sicher zu racen
- Bevorzuge Channels zur Koordination gegenüber gemeinsamem veränderlichem Zustand
- Instrumentiere async Tasks mit Tracing für Observability
Vermeiden
- Aufrufen von blockierenden Funktionen wie std::thread::sleep in async Code
- Halten von Mutex- oder Rwlock-Guards über Await-Punkte hinweg
- Spawnen unbegrenzter Tasks ohne Concurrency-Limit
Häufig gestellte Fragen
Ist dies mit aktuellen Tokio-Versionen kompatibel?
Generiert es vollständigen Anwendungscode?
Kann ich es in einem bestehenden Repository verwenden?
Greift es auf meine Daten zu oder speichert sie?
Was tun, wenn mein async Code immer noch hängt?
Wie unterscheidet sich dies von allgemeinen async-Guides?
Entwicklerdetails
Autor
wshobsonLizenz
MIT
Repository
https://github.com/wshobson/agents/tree/main/plugins/systems-programming/skills/rust-async-patternsRef
main
Dateistruktur
📄 SKILL.md