[Python] cambiare i valori dei parametri a runtime

Fabrizio Mancini mr.file a gmail.com
Ven 30 Gen 2009 14:57:51 CET


Ciao,

> Non mi sembra la soluzione migliore usare i thread per fare questo.
>
hai perfettamente ragione, ma non essendo esperto in questo genere di
programmazione, era la soluzione migliore che mi è venuta in mente! :-)


> La soluzione canonica a questo problema è avere un processo master, il
> quale a sua volta fa lo spawn di N sotto processi.
>
> Il processo master registra un handler per il segnale SIGCHLD, in modo
> che venga notificato se un processo figlio è morto e ne possa spawnare
> un altro.
>
> Per ricaricare la configurazione, non devi fare altro che:
> 1) Fare lo spawn di N processi, i quali a loro volta leggono la nuova
>    configurazione
> 2) Se è andato tutto bene, killi gli N processi "vecchi".
>
Non mi è chiara una cosa, probabilmente non riesco a inquadrare la soluzione
che mi serve.
Approfitto della tua gentilezza e disponibilità subito! :-)
La mia applicazione processa dei file, solitamente è una lista di file
(arrivano o da un file di testo, o da un db).
lo script principale usa un thread pool per fare lo spawn dei processi e
scodano la queue che incamera i dati.
Ogni sottoprocesso prende come argomento da riga di comando il nome del file
da trattare.
Se il sottoprocesso termina senza problemi allora il thread che l'aveva in
carico fa lo spawn di un altro sottoprocesso, altrimenti il thread lo
ammazza dopo 30 secondi se non ha completato.
I thread li ho usati per avere una concorrenza vera e propria sulle
operazioni sui files, cioè per avere un numero di processi contemporanei
elevato. Attualmente il processo gira su una macchina solaris / sparc a 16
core e quindi faccio lo spawn di almeno 16 processi.
Non mi è chiaro come fare lo spawn di più processi senza usare una tecnica
del genere.
Uso un loop del tipo while True, con un contatore per avere il numero di
processi attivi?
Grazie per qualunque consiglio!

Dovresti trovare un esempio di come fare tutto questo in
> http://pypi.python.org/pypi/Spawning/0.8.10
>
ottimo lo guardo subito!


> Ciao  Manlio Perillo
>
Grazie
Fabrizio
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.python.it/pipermail/python/attachments/20090130/999c0dd7/attachment.htm 


Maggiori informazioni sulla lista Python