[Python] thread e subprocess

Antonio Conte barbone67 a gmail.com
Mer 29 Ott 2014 18:18:58 CET


* 29/10/2014, Manlio Perillo wrote :
>      tenete conto che lo script va lanciato da cron, e mi serve l'output
>      del comando
>      per inviarlo via mail.
> 
>      dopo varie prove sono arrivato a questo, ma mi chiedevo se fosse il
>      modo giusto
>      (cioe' l'utilizzo del contatore _act) per aspettare che tutti i
>      processi
>      terminino e per leggere dalla queue l'output.
> 
>    Nel codice del thread ti suggerisco di usare la funzione
>    subprocess.check_output.
>    In generale io proverei ad usare multiprocessing.Pool ed il metodo map.

con map avevo "problemi" a passare i parametri, se nn mi sbaglio. adesso
che l'ho fatto girare magari ci perdo un po' piu' di tempo.

>    Purtroppo non esiste l'analogo Pool nel modulo threading, però da una
>    veloce ricerca è venuta fuori questa "sorpresa":
>    [2]http://stackoverflow.com/questions/3033952/python-thread-pool-simila
>    r-to-the-multiprocessing-pool
>    >>> from multiprocessing.pool import ThreadPool
>    usando ThreadPool.map il tuo codice diventa molto più semplice ed
>    inoltre non soffri del problema che ti ha segnalato Daniele su troppi
>    processi/thread in esecuzione.

adesso vedo anche questo.

>    Se sei curioso esiste anche una alternativa senza usare un thread o
>    processo di supporto, ma è più complesso e non trovi nulla di pronto
>    nella stdlib (forse qualcosa in Python 3.x).

curioso sarei curioso ... cosa dovrei guardare ?

grazie e ciao

-- 
Never try to teach a pig to sing.
It wastes your time and annoys the pig.


Maggiori informazioni sulla lista Python