stream_logs(), qui capture la sortie de la commande passée à Sandbox.run(). La sortie des commandes exec() n’est pas incluse : utilisez pour cela Process.stdout ou Process.stderr.
stream_logs() renvoie un StreamReader qui génère des lignes de journal. Vous pouvez le parcourir de manière synchrone ou asynchrone.
Lorsque vous appelez
Sandbox.run() sans commande, la commande par défaut de la sandbox n’écrit ni dans stdout ni dans stderr : stream_logs() ne renvoie donc aucune sortie. Passez une commande qui écrit dans stdout ou stderr.Choisir l’authentification
Ces exemples s’exécutent sur une capacité sans serveur, sauf si une section indique CKS. Choisissez l’identifiant d’authentification du compte propriétaire de vos Sandbox. Consultez Choisir et obtenir des identifiants d’authentification pour obtenir une clé ou un jeton. Exécutez les commandes d’installation dans un environnement virtuel Python actif. Enregistrez le code Python de l’onglet correspondant à votre identifiant d’authentification sous le nomsandbox_auth.py, à côté des scripts Python que vous exécutez depuis cette page. Ce fichier enregistre le mode d’authentification choisi, et non votre identifiant d’authentification. Les exemples importent AUTH depuis ce fichier et le transmettent explicitement à chaque nouvelle Sandbox ou session.
- Clé API Forge
- Jeton d’accès à l’API CoreWeave
Utilisez votre clé API Forge via la stratégie d’authentification W&B du SDK :
sandbox_auth.py
placement_mode="cks" lors de la création de la Sandbox ou dans SandboxDefaults. Créer une session avec auth=AUTH authentifie également les Sandbox qui lui appartiennent. Utilisez le même identifiant d’authentification pour vous reconnecter à vos Sandbox, les lister ou les nettoyer.
Récupérer les journaux récents
Utiliseztail_lines pour récupérer les dernières lignes du journal sans diffuser en continu l’intégralité de l’historique. C’est pratique pour inspecter rapidement une sandbox en cours d’exécution.
Mode suivi
Diffusez les journaux en continu, comme avectail -f. L’itérateur reste bloquant jusqu’à l’arrivée de nouvelles données.
Ctrl+C pour arrêter l’itération.
Filtrer par date
Passezsince_time pour récupérer uniquement les journaux postérieurs à un horodatage donné. Vous limitez ainsi la sortie à la fenêtre qui vous intéresse, par exemple les journaux générés depuis un déploiement ou un incident.
Horodatages
Définisseztimestamps=True pour préfixer chaque ligne d’un horodatage ISO 8601 fourni par le serveur. Les horodatages côté serveur permettent de corréler les événements de la sandbox avec ceux d’autres systèmes.
Itération asynchrone
Si votre application utiliseasyncio, parcourez le même StreamReader avec async for pour ne pas bloquer la boucle d’événements.
Récupérer les journaux avant l’arrêt
La récupération des journaux n’est possible que si la sandbox est en cours d’exécution. Récupérez les journaux dont vous avez besoin avant de l’arrêter. Une fois la sandbox arrêtée, le SDK Python comme la CLI refusent toute récupération des journaux.Voir aussi
- Exécution de commandes : exécuter des commandes et diffuser leur sortie en continu avec
exec() - Synchrone ou asynchrone : modèles d’itération