[Python] django e strutture dati permanenti

Daniele Varrazzo piro a develer.com
Gio 11 Ott 2012 01:48:07 CEST


On 2012-10-10 19:06, Marco Beri wrote:
> 2012/10/10 Balan Victor <balan.victor0 a gmail.com>
>
>> quello che devo fare è questo:
>> in fase di inizializzazione devo caricare in memoria un 
>> grafo(networkx) di
>> dimensioni consistenti: 60.000 nodi e più di 100.000 connessioni. 
>> PER
>> ADESSO dovrebbe essere in sola lettura e se devo fare delle 
>> modifiche posso
>> permettermi di stoppare tutto, fare le modifiche e rilanciare
>> l'applicazione.
>> Poi in base alle richieste che vengono effettuate devo andare a 
>> leggere le
>> informazioni che mi servono dal grafo, elaborarle e restituirle 
>> all'utente.
>>
>>
> E questo cosa c'entra con una variabile globale?
>
> PER ADESSO fai un modulo che carica tutto e che si salva in memoria 
> la cosa.

Leggendo il post originale, la preoccupazione di Victor mi sembra sia 
che, col server di sviluppo, ogni volta che cambia una riga tutto il 
grafo viene ricaricato, presumibilmente mettendoci troppi secondi per 
essere divertente.

Puoi disabilitare il reload automatico del server di sviluppo e 
riavviarlo quando ti serve: c'è un parametro di riga di comando IIRC. 
Non è una grande consolazione. Ma il problema non è diverso da altri 
modelli di sviluppo.

L'errore secondo me è caricare tutto il grafo: per lo sviluppo dovresti 
averne una versione semplificata, oppure avere un oggetto stub che ne 
simuli l'interfaccia e sviluppare l'app django con quello.


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


Maggiori informazioni sulla lista Python