J'ai des problèmes avec le module multiprocessing
. J'utilise un Pool
des travailleurs avec sa méthode map
pour analyser simultanément beaucoup de fichiers. Chaque fois qu'un fichier a été traité, je voudrais avoir un compteur mis à jour afin que je puisse garder une trace du nombre de fichiers restant à traiter. Voici un exemple de code :
import os
import multiprocessing
counter = 0
def analyze(file):
# Analyze the file.
global counter
counter += 1
print counter
if __name__ == '__main__':
files = os.listdir('/some/directory')
pool = multiprocessing.Pool(4)
pool.map(analyze, files)
Je n'arrive pas à trouver une solution.