Mariano Reingart escribió:
> Alvaro:
>> Mariano Reingart escribió:
>>
>>> Para solucionar el tema si el médico se va y no desbloquea, se podría
>>> implementar algun mecanismo de señales con LISTEN y NOTIFY para detectar
>>> si el bloqueo sigue vigente o no.
>> Hmm, ¿quién haría listen y quién notify? ¿Qué identificador se usaría?
>
> Se me ocurre que una forma es que el que necesita acceso (y esta
> bloqueado) podría hacer un NOTIFY sobre la misma tabla, y el LISTEN lo
> haría el que esta bloqueando.
> De esta forma los que tengan bloqueos, los podrían revalidar (cambiar la
> fecha o algún otro dato del registro en cuestión).
> Si no los revalidan en x segundos listo, se consideraría que la máquina se
> apago o la conexión se interrumpió.
Si, aunque el tiempo, debe ser mayor o bien poner algún tipo de "aviso
sonoro", pq el médico puede estar "reconociendo" al paciente, y no estar
en su mesa, o cosas así, no sé, por ejemplo(que no se si se puede
implementar) este aviso, si llega al final despues de "x" segundos, que
tenga un ciclo de 3 veces o así,digo esto pq yo he estado allí, y el
tema de este tipo de especialistas, es comlicado, por ejemplo, estan con
un paciente en consulta, la enfermera lo llama pq a otro paciente que le
administran tratamiento tiene una urgencia de 3 o mas minutos por
ejemplo, eso no quiere decir que el medico se haya ido, o el pc este
desconectado o cosas así,el tema es complicado según yo veo.
Consultando aqui con ustedes, me he dado cuenta de deficiencias o
problemas en mi "implementación", y son mas de los que pensaba, y todavia...
> Igualmente al escuchar en el NOTIFY, tendría que preguntarle al usuario si
> renovar el bloque o permitir que el otro usuario modifique el registro,
> porque si te dejaron la maquina encendida y el proceso es automático,
> estaríamos en la misma (va a renovar el bloqueo cuando el usuario no
> esta).
>
> De todas maneras, al seguir siendo un bloqueo lógico, a mi me parece que
> también se debe verificar la versión de la fila con xmin, para evitar
> sobreescribir los datos que pudo haber escrito otro usuario, por el motivo
> que fuese.
>
> Igualmente todo esto es una suposición, habría que probarlo bien.
>
Por pruebas, que no quede, esto estará como un par de semanas o quizás
mas, en pruebas, pq no sólo es eso, tengo que probar auditorias y un sin
fin de cosas que pensé que jamás las iba a necesitar:)
> Sds
> Mariano
Un slaudo
Suso
>