[Python] cambiare i valori dei parametri a runtime

Daniele Varrazzo piro a develer.com
Ven 30 Gen 2009 13:44:13 CET


On Fri, 30 Jan 2009 11:22:58 +0100, Fabrizio Mancini <mr.file a gmail.com>
wrote:
> 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
> ...

> La domanda è:
> come faccio a far rileggere i parametri allo script senza fermarlo e
> riavviarlo?
> Mi piacerebbe realizzare una cosa come fa il comando apache reload o
> postfix
> reload, cioè che si rileggono solo i files di configurazione senza
> interrompere il servizio!

Puoi fare esattamente come fanno loro: intercetta un signal e registra un
handler che ricarica la configurazione.

Sotto Unix di solito si registra un segnale (per esempio Postgres e Apache
usano SIGHUP) come messaggio dall'esterno per ricaricare la configurazione.
Ho già letto che usi windows: io credo che la tecnica sia usabile anche
sotto windows, visto che il modulo "signal" è presente anche lì: vedi
http://docs.python.org/library/signal.html

Proprio ieri ho postato una ricetta sull'uso di signal su stackoverflow: il
caso di uso era diverso ma la tecnica è la stessa: vedi
http://stackoverflow.com/questions/492519/timeout-on-a-python-function-call/494273#494273

Ciao!

-- 
Daniele Varrazzo - Develer S.r.l. 
http://www.develer.com


Maggiori informazioni sulla lista Python