-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Il 03/10/2012 13:24, Daniele Varrazzo ha scritto: > On 2012-10-03 11:57, Pietro Battiston wrote: > >> Ci ho provato in un po' di modi (es. dopo il reload >> istanza.__class__.metodo = mio_modulo.Classe.metodo ), ed ho ottenuto un >> po' di cose comiche tipo: >> >> "TypeError: unbound method visita_art() must be called with Visiter >> instance as first argument (got Visiter instance instead)" > > Questo funziona: > > istanza.__class__ = mio_modulo.Classe > > Lo uso per fare il reload live del codice in un server web con uno stato > enorme e che in certi momenti non può permettersi di perdere i secondi > necessari a riavviarsi. > > Ovviamente non funziona con tutto, per esempio se col nuovo codice > cambia lo stato delle istanze. Ma quando è solo il codice a cambiare, > funziona come si deve. >
Invece di fare queste cose abbastanza dubbie, meglio affidarsi al sistema operativo. Nginx, ad esempio, ha un processo master + N workers. Se devi fare il reload live del codice, ti basta far partire N nuovi workers e killare i vecchi workers, dopo che hanno finito di servire le connessioni attive. Ciao Manlio -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAlBshncACgkQscQJ24LbaUQAqgCgmZ1FHqbr2uXk12fqTSFeCXdT 9b0AnRJGsh2v/WH8xBW2tZlVW0cx6Ex+ =FtNx -----END PGP SIGNATURE----- _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python