Skip to content

Commit

Permalink
Interruption de la phase "Attente des derniers palmarès" après 2 minu…
Browse files Browse the repository at this point in the history
…tes.

Si des palmarès sont manquants le calcul est lancé tout de même mais risque
d'être faussé.
  • Loading branch information
NicolasP committed Aug 16, 2019
1 parent c5a3dcc commit 2a7224c
Showing 1 changed file with 14 additions and 6 deletions.
20 changes: 14 additions & 6 deletions palmares.py
Expand Up @@ -288,7 +288,7 @@ def getPalmaRecursif(annee, joueur, opener, profondeurMax):
# File des joueurs dont le palmarès reste à récupérer
q = Queue()

# Identifiants des joueurs dont les palmarès ont été récupérés
# Identifiants des joueurs dont les palmarès ont été récupérés ou sont en cours de récupération
id_palmares = set()

# Map ID -> joueur pour n'avoir qu'un objet Joueur par joueur réel
Expand Down Expand Up @@ -323,7 +323,7 @@ def traitement():
t.start()

# Attente de la fin de tous les threads
# q.join() empêche toute interruption par l'utilisateur, on vérifie donc
# q.join() empêche toute interruption par l'utilisateur, on vérifie donc plutôt
# périodiquement si q est vide
c = 0
while not q.empty():
Expand All @@ -332,11 +332,19 @@ def traitement():
print('{} palmarès restants à récupérer'.format(q.qsize()))
time.sleep(1)

# Même une fois q vide, il faut attendre que les derniers palmarès soient récupérés
print('Attente des derniers palmarès')
q.join()
# Même une fois q vide, il faut attendre que les derniers palmarès terminent d'être récupérés
max_time = time.time() + 120
while q.unfinished_tasks and time.time() < max_time:
c += 1
if c % 5 == 0:
print('Attente des derniers palmarès ({})'.format(q.unfinished_tasks))
time.sleep(1)

if q.unfinished_tasks:
print('{} palmarès n\'ont pas pu être récupérés'.format(q.unfinished_tasks))

print('Palmarès récupérés pour {} joueurs'.format(len(id_palmares)))
joueurs_avec_palmares = len(set(j.identifiant for j in joueurs.itervalues() if j.victoires or j.defaites))
print('Palmarès récupérés pour {} joueurs'.format(joueurs_avec_palmares))
print()


Expand Down

0 comments on commit 2a7224c

Please sign in to comment.