[pyar] [Aporte] Para los que estan escribiendo proyectos.

Juan Carlos Ojeda juancarlospaco en gmail.com
Jue Oct 21 18:03:07 ART 2010


On Thu, Oct 21, 2010 at 5:44 PM, Joaquin Sorianello <soriasoft en gmail.com>wrote:

> 2010/10/21 Juan Carlos Ojeda <juancarlospaco en gmail.com>:
> > http://python.org.ar/pyar/Recetario/CerrarCorrectamenteTuPrograma
> > Mirando el codigo del Ninja por que tube que editar una linea para
> > que arranque note que no tiene esta caracteristica, pequeña pero grande.
> > Busquen la documentacion del kernel y del filesystem ante cualquier duda.
> > Saludos...
> >
> > --
> > .
> >
> > _______________________________________________
> > pyar mailing list pyar en python.org.ar
> > http://listas.python.org.ar/listinfo/pyar
> >
> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >
>
>
> Perdon, pero no es mejor usar:
>
> os.fsync(fd)
>
>    Force write of file with filedescriptor fd to disk. On Unix, this
> calls the native fsync() function; on Windows, the MS _commit()
> function.
>
>    If you’re starting with a Python file object f, first do
> f.flush(), and then do os.fsync(f.fileno()), to ensure that all
> internal buffers associated with f are written to disk.
>
>    Availability: Unix, and Windows starting in 2.2.3.
>
> (Extracto de http://docs.python.org/library/os.html )
>
> lo de usar sync puede llegar a ser desastroso!
> --
> Joaquín Sorianello
>
> Sea libre, use software libre
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>

Es SOLO para Linux.

Yo no encontre una manera mas Pythonica de hacerlo, sino editen la Wiki, que
para eso es Wiki :)

Trabaja a un nivel mas bajo del que trabaja Python, por mas que le des
file.close() no se escriben los cambios al disco realmente, permanecen en
RAM,
sync es una utilidad de Linux para el filesystem, no es ninguna libreria
python.

Hace la prueba en una VM, ponele 1500 de
/proc/sys/vm/dirty_writeback_centisecs,
dale un file.open(), le das file.close() y mata la VM de una,
al reiniciar la VM notaras que no se guardaron los cambios, o se corrompio
algun archivo,
esa es la prueba que realize yo antes de decidirme a postear.
Esto no afecta las DB tipo SQLite, MySQL, etc
ni las cosas atomicas como la creacion de directorios, que en linux es
atomica.

No se si es la mejor manera, se que es una manera.

Editen la wiki, poniendo una mejor manera.

-- 
.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20101021/e3d94f9a/attachment.html>


More information about the pyar mailing list