Re: Bloqueo en registro-tabla

From: suso <jlcubas(at)terra(dot)es>
To: Mariano Reingart <mariano(at)nsis(dot)com(dot)ar>
Cc: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Bloqueo en registro-tabla
Date: 2009-06-16 21:07:34
Message-ID: 4A380996.8030404@terra.es
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message suso 2009-06-16 21:12:14 Re: Bloqueo en registro-tabla
Previous Message Mariano Reingart 2009-06-16 21:04:51 Re: Bloqueo en registro-tabla