[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