API rest: terminaison goto

Bonjour,

Avant que ma carte pixl rende l’ame, j’ai potentiellement remarque un probleme avec la terminaison goto de l’api rest.

Quand la valeur wait est a ‘true’, je ne peux plus effectuer de requetes en parallele; le serveur semble totalement bloque jusqu’a la fin de la duree du mouvement (puis retour a la normale).

Je ne peux plus le confirmer sur un robot reel :sob: mais sur un simule, j’ai systematiquement ce comportement.

N.

Bonjour,

En principe ce comportement est normal car le serveur de l’API REST est synchrone et ne peut pas servir plusieurs clients en même temps. Tout comme si ce même code était exécuté dans un Jupyter Notebook où wait=True bloquerait toute nouvelle exécution.

Il doit être possible de bidouiller pour accepter plusieurs requêtes simultanées sans pour autant causer de problème côté moteurs puisque pypot envoie des données continues en arrière plan. Je pense qu’il faut regarder du côté de la configuration du serveur qui sert l’API REST.

Bonsoir,

Merci de votre reponse.

J’ai un cas d’utilisation tres basique: un client de “monitoring” et un second afin d’executer des actions sur les moteurs.

La solution est donc immediate du cote client, tout en conservant le mode de fonctionnement nominal du serveur:
remplacer les appels du client de type

goto(duration, wait=true)

par

goto(duration, wait=false)
sleep(duration)

Je suppose donc que le meme principe s’applique pour la requete POST /ik/chain/goto.json.

N.

1 Like