[Python] Come gestireste una funziona di rollback

Diego Barrera diegonebarrera a yahoo.it
Dom 12 Maggio 2013 12:01:01 CEST


Il 12/05/2013 11:03, Marco Beri ha scritto:
> 2013/5/12 Diego Barrera <diegonebarrera a yahoo.it 
> <mailto:diegonebarrera a yahoo.it>>
>
>     Se la struttura non e' molto grande, potresti gestirla facendo una
>     copia di backup temporanea della struttura, se qualcosa va storto
>     rimuovi la struttura corrotta e rinomini quella di backup.
>     Ciao diego
>
>
> Se potesse permetterselo (ma ha già detto che non può) la cosa giusta 
> sarebbe fare la copia su cui fare le modifiche e, solo come atto 
> "atomico" finale, fare una move sulla copia di backup. Qualunque cosa 
> vada male, ha la copia vera, attiva, senza problemi. Facendo come dici 
> tu, se le cose vanno a schifio tra la verifica della corruzione e la 
> rinomina della copia di backup, è fregato.
>
Pensavo che fosse equivalente l'approccio

> La parola chiave è "atomica". La rename dovrebbe essere una operazione 
> atomica a livello di file system e quindi va per forza usata quella se 
> uno vuole essere sicuro di fare un cambio solo finale che lo porta 
> alla nuova situazione.
>
> Certo, poi servirebbe anche che nessuno facesse modifiche alla 
> struttura che il programma ha copiato e su cui sta effettuando le 
> modifiche.
>
Per capire: i problemi di concorrenza e atomicita' delle operazioni sul 
filesystem non sono intrinseci alla struttura da lui utilizzata?

Altra riflessione: come approcciano i software di versioning al problema?

Ciao
buona domenica

-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130512/5af3e0d7/attachment.html>


Maggiori informazioni sulla lista Python