[Python] cambiare i valori dei parametri a runtime

Manlio Perillo manlio_perillo a libero.it
Ven 30 Gen 2009 12:54:41 CET


Fabrizio Mancini ha scritto:
> Ciao,
> vorrei cambiare dei valori all'interno di uno script python a runtime. 
> Mi spiego:
> ho realizzato uno script che fa un uso misto di thread e processi per 
> compiere dei lavori a lungo termine, principalmente lavori che prevedono 
> IO su share NFS / CIFS, filesystem  e interazioni con un db.
> I threads praticamente fanno solo da scheduler dei processi, ho quindi 
> realizzato un thread pool che esegue lo spawn dei sottoprocessi e vi 
> colloquia tramite pipe. 

Non mi sembra la soluzione migliore usare i thread per fare questo.


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".



Dovresti trovare un esempio di come fare tutto questo in
http://pypi.python.org/pypi/Spawning/0.8.10



Ciao  Manlio Perillo


Maggiori informazioni sulla lista Python