[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