|
|
|
#1 (permalink) |
|
Messages: n/a
Hébergeur: |
Bonsoir,
Voici un cas d'utilisation du module threadpool from threadpool import * import time import sys import random src = ["src_user%d"%i for i in range(5)] dest = ["dest_user%d"%i for i in range(5)] src2dest = zip(src, dest) reconnectedsrc2dest = {} main = ThreadPool(5) def end_reconnection(requete,couple): m = "\n--- Reconnexion de : (%s,%s) ---\n"%(couple[0], couple[1]) time.sleep(1) sys.stdout.write(m) def reconnection(couple): m = "(%s,%s) en cours de reconnnexion \n"%(couple[0],couple[1]) while not reconnectedsrc2dest[couple]: time.sleep(random.random()*3) sys.stdout.write(m) return couple def isUserReconnected(couple): # Dans la realite : requete Exchange pour tester # l'existence de l'attribut 'homeMDB' sur couple[1] i = int(random.random()*4) return (i == 3) requete = makeRequests(reconnection, src2dest, end_reconnection) for req in requete: main.putRequest(req) reconnectedsrc2dest[req.args[0]] = False while 1: try: main.poll() time.sleep(1) for couple in src2dest: if isUserReconnected(couple[1]): if len(src2dest) > 0: reconnectedsrc2dest[couple] = True src2dest.pop(src2dest.index(couple)) except NoResultsPending: print "Fin Normale" break except KeyboardInterrupt : print "Arret Utilisateur, destruction des Threads" for worker in main.workers: worker.terminate() break print "Termine" |
|
|
|
#2 (permalink) |
|
Messages: n/a
Hébergeur: |
Hi!
> Voici un cas d'utilisation du module threadpool Ok! Ok! But threadpool is not in then standard library... Perhaps here : http://cheeseshop.python.org/pypi/threadpool -- @-salutations Michel Claveau |
|
![]() |
| Outils de la discussion | |
|
|