Add redis to the virtual pad #85
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "Romain/JacoBot:84_Add_redis_to_jacovirt_pad"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
close MDL29/JacoBot#84
Send instruction with redis.
C'est bien, des problèmes de conception à revoir.
Ce n'est pas urgent de les corriger, ton code marche et je peux le reprendre dans ma branche pour avoir un truc de fonctionnel pour ce week-end.
@ -55,0 +59,4 @@def send_instruction(self, instructions, source="jacovirt-pad", host="localhost", channel="jacobot-instructions"):# Connection to Redisr = redis.Redis(host=host)À chaque fois que la méthode est exécutée, tu te connectes à Redis. Le fait de se connecter peut coûter beaucoup de ressources (temps, calcule, etc).
Mais vu que c'est un petit projet, je ne pense pas que ça pose un problème de performance. À voir avec @benvii et @cjacolot si c'est vraiment un problème.
Si c'est OK, je pense que ça serait mieux d'utiliser un gestionnaire de contexte dans ce cas-là.
@ -114,1 +113,3 @@logging.debug(f"Instruction : {instruction}")instructions = self.pad.get_instructions(self.tokens)logging.debug(f"Instructions : {instructions}")self.pad.send_instruction(instructions)Ça me pose problème de passer une liste d'instructions à la tablette alors que par principe, elle devrait les connaître déjà en avance.
Parce que ça vient dû fait pour récupérer les instructions. On construit cette liste à la demande et on la renvoie simplement sans la stocker dans l'objet.
Il faut faire en sorte de la construire dynamiquement. Il y a plusieurs façons de le faire, soit de façon un peu sale est d'appeler la méthode
get_instructions()à chaque fois qu'on place un jeton et de stocker la liste dans un attribut de la tablette ou soit, quand on place un jeton, faire en sorte de lier ce jeton à la tuile sur laquelle elle est posée.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.