Accéder aux résultats du Swarm¶
Une fois le swarm déployé et exécuté, vous pouvez obtenir les résultats et les logs en utilisant Cluster
. Cela permet de suivre et gérér les swarms efficacement.
Results¶
Quand vous utiliser world.results.add(tag, data)
, vous pouvez obtenir les résultats en utilisant Cluster.select_results((swarm_id_1, [tag1, tag2, ...]), (swarm_id_2, [...]))
.
La sortie de select_results
est un Dict[swarm_id, Results]
où Results
est un objet qui se comporte comme un tableau tridimensionnel :
une dimension pour les itérations
une dimension pour les ID des noeuds
une dimension pour la sélection des tâches
Une fois les résultats collectés, afin d’accéder à un tag spécifique, vous pouvez l’appeler pour le filtrer :
>>> results_per_swarm_ids = cluster.select_results((swarm_id, ["metrics"]))
>>> results = results_per_swarm_ids[swarm_id]
>>> results.schema.rows
["node_a", "node_b", ...]
>>> results.schema.columns
["metrics"]
>>> metrics = results("metrics")
[[b"...", ..., b"..."], ..., [b"...", ..., b"..."]]
# ^^^^^^^^^^^^^^^^^^^ ^^^^^^
# iteration 0 node a
Activités d’un noeud¶
Cette méthode select_tasks(node_id)
vous permet de savoir l’activité d’un noeud.
>>> for task_progression in cluster.select_tasks(node_id):
... print(task_progression)
{"task_id": ..., "swarm_id": ..., ..., "status": 3}
{"task_id": ..., "swarm_id": ..., ..., "status": 2}
{"task_id": ..., "swarm_id": ..., ..., "status": 3}
Pour des détails sur les appels API et des options additionelles, veuillez vous référer à Cluster
.
Avec ce guide, vous devriez être capable de connecter un cluster Manta, déployer des swarms et surveiller leur exécutions efficacement.