Add redis to the virtual pad #85

Open
Romain wants to merge 4 commits from Romain/JacoBot:84_Add_redis_to_jacovirt_pad into main
Member

close MDL29/JacoBot#84

Send instruction with redis.

close MDL29/JacoBot#84 Send instruction with redis.
HS-157 left a comment

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.

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 Redis
r = redis.Redis(host=host)
Owner

À 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à.

À 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)
Owner

Ç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.

Ç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.
This pull request doesn't have enough approvals yet. 0 of 1 approvals granted.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u 84_Add_redis_to_jacovirt_pad:Romain-84_Add_redis_to_jacovirt_pad
git switch Romain-84_Add_redis_to_jacovirt_pad
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
MDL29/JacoBot!85
No description provided.