que pensez vous de ce code ? - Python - Programmation
Marsh Posté le 11-08-2004 à 13:07:48
c'est quoi cette boucle imonde qui bloque tout? je dirais d'utiliser des threads+timers ca marche très bien, ou des fonctions de déclenchement de tasks intégrées à l'OS (type cron) c'est fait pour ca.
Ensuite pour le code, à première vu en tant que programmeur (très) moyen (si Taz vient il saura surement plus t'en dire que moi... si il a le courage de le faire)
-> les arguments par défaut, def addEvent(self, id, func, t, args=()) ca évite self.addEvent(id, event, t, ()) qui est crade et ne veut pas dire grand chose
-> pourquoi devoir saisir l'ID des tâches? celui ci devrait être généré dynamiquement
-> les lists disposent d'une fonction sort() si tu veux les trier
-> j'arrive pas trop a comprendre comment fonctionne/a quoi sert addPeriodicEvent
-> dans les listes, il y a pop() et remove() si tu veux retirer des éléments, reconstruire toute la liste sans remettre l'élément à enlever c'est débile
Marsh Posté le 11-08-2004 à 13:55:25
Masklinn a écrit : |
en tous les cas merci pour tes remarques je vais essailer d'améliorer tout ca
Marsh Posté le 11-08-2004 à 14:09:17
Citation : elle bloque rien du tout ma boucle si il y a aucune taches |
Si il y a une tâche, tu ne peux rien faire pendant qu'elle s'exécute
Si tu lances plusieurs tâches en simultanné elles s'exécutent l'une après l'autre
D'ailleurs t'es obligé de remplir ta liste de tâches avant de lancer l'exécution globale, tu peux pas ajouter de tâche quand le truc se déroule
Citation : le problème c est si je veux les supprimer, je suis pas censé savoir quelle nom à telle tàche, bien que ce serait mieux, c'est sur. |
Dans Tasks tu crée un accesseur GetId() et dans Scheduler un GetIdList(), GetId renvoie l'id de la tâche en cours et GetIdList renvoie les Ids de toutes les tâches enregistrées
Citation : en fait je rajoutes un event simple qui a comme fonction la sous fonction event() de addPeriodicEvent, donc à chaque fois que l'event est executé un nouvel event est crée. mais là faut tester pour comprendre, je dois surement pas étre tres clair. |
Ah oui, c'est bien se faire chier pour rien quand tu sais que les timers font ce genre de trucs pour toi
Citation : oué a voir mais je crois que ca me posait problème dans le cas des events ajoutés avec addPeriodicEvent(). |
Ca n'enlève qu'un élément à la fois, donc il faut boucler jusqu'a ce que tous les éléments à détruire soient partis si il y en a plusieurs
Marsh Posté le 11-08-2004 à 12:51:17
le but c'est de gerer un systeme d' execution de tâches toutes
les n secondes où à un moment précis.
ca à l'air de fonctionner mais j'aimerais bien avoir votre avis
pour peut etre l'améliorer
Message édité par Profil supprimé le 11-08-2004 à 12:54:15