Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème Thread

Mes threads s'arrêtent alors qu'elles n'ont pas fini de s'exécuter

Sujet résolu
    18 mai 2013 à 18:51:19

    Bonjour,

    Je suis en train de développer un programme qui me permet de récupérer des chapitres de manga. Pour cela, j'ai créer une classe qui hérite de Thread "Chapter" qui permet comme son nom l'indique de télécharger le chapitre. Ensuite, j'ai un classe qui hérite aussi de Thread  "Task" qui me permettra  de charger plusieurs chapitres en même temps par la suite. Mais la viens un problème lorsque j'exécute le thread Task, mes threads qui marche nickel indépendamment s'arrête sans prévenir et ne finissent pas le téléchargement.

    Voici le code de "Task":

    import threading
    from chapter import Chapter
    from manga import Manga
    from class_reg import Exp_Manga
    
    class Task(threading.Thread):
    	def __init__(self,list_url,exp,log_file="log.txt"):
    		threading.Thread.__init__(self)
    		self.reg=exp
    		self.list_url=list_url
    		self.stat=""
    		self.log_file=log_file
    	def run(self):
    		for i in self.list_url:
    			c=Chapter(self.list_url[0],self.reg)
    			try:
    				self.stat="Chapitre "+c.nb_chap+" is being downloaded"
    				c.start()
    				c.join()
    				self.write_log("Chapitre "+c.nb_chap+" downloaded perfectly")
    			except:
    				self.write_log("Failed to download : Chapitre "+c.nb_chap)
    		self.stat="Task Finished"
    		print self.stat
    	def write_log(self,ch):
    		f=open(self.log_file,'a')
    		f.write(ch+'\n')
    		f.close()
    			
    		
    
    if __name__ == '__main__':
    	reg=Exp_Manga({},file="mangafox.txt")
    	c=Manga("http://mangafox.me/manga/hakaijuu/",reg)
    	t=Task(c.list_url,reg)
    	t.start()
    	#~ t.join()
    

    Voilà :) 

    Merci d'avance.

    • Partager sur Facebook
    • Partager sur Twitter
      18 mai 2013 à 20:52:40

      je viens de trouver la réponse ce sont les liens données était au mauvais format XD
      • Partager sur Facebook
      • Partager sur Twitter

      Problème Thread

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown