Buenas a todos, especialmente a los que más y mejor responden
)
Resulta que subo archivos .db al ftp y los bajo con otro programa que es una tarea que se ejecuta cada 15 min.
¿ Qué pasa si cuando un dispositivo está subiendo un .db la tarea se activa ? Creo que podria haber perdida de informacion.
Asi las cosas estoy pensando en poner un semaforo en el ftp
¿ Qué os parece ? ¿ Vds./ vosotros como lo hacen/ hacéis ?
Salu2
Si utilizas la logica, con eso resuelves todo..
Tu mismo mencionas la misma solucion, la cual seria un archivo semaforo usandolo como ftp.
Osea tienes una baseX.db y tambien dispondras de 2 metodos de validacion/eventos a realizar.
LOGICA.. Actualizando mi DB (Evitando que nadie se actualze hasta que termine le SUBIDA).
METODO 1.
1. Subes un archivo por FTP llamado actualizando.txt <-- o como quieras llamarlo
2. Subes tu archivo baseX.db
3. Una vez Subida la baseX.db borras el archivo actualizando.txt
Cada que se intenten actualizar alguien descargara el archivo actualizando.txt
Si Existe.. entonces no podran descargar la baseX.db, hasta que el archivo no exista.
No Existe entonces SI podran descargar la baseX la cual ya debiste haber subido al FTP.
METODO 2
1. Subes un archivo por FTP llamado estatus.txt dentro de el tendras un dato "x" que diga (actualizando, disponible, no permitido....etc)
2. Subes tu archivo baseX.db
3. Una vez Subida la baseX.db
Subes nuevamente el archivo por FTP llamado estatus.txt dentro de el tendras un dato "x" que diga (actualizado o disponible)
Cada que se intente actualizar alguien descargara el archivo actualizando.txt
Si Existe.. entonces checa el contenido dentro y detecta el estatus de la base de datos puede ser. (actualizando, disponible, no permitido....etc)
*** si esta en estatus disponible entonces se podra realizar la descarga de la basX.db.
No Existe entonces interrumpe la descarga de la baseX.db. y espera a otro intento..
Y sobre si se corrompe la descarga las bases debes descargarlas con nombres distintos, intentar abrirlas o accesar a ellas, en caso de que se abra correctamente entonces renombras el original por el nuevo y remplasas la base de datos por la descargada..
Espero sea de ayuda
Saludos !!!