Buen dia, pues tengo una pequeña duda que vendria siendo sobre
concurrencia
para hacer algun tipo de sincronizacion
lo que pasa es que tengo en la base de datos una tabla de rangos de
polizas
validas por ejemplo
num_inicial num_final ultima_asignada
1 100 99
150 200 0
y si el cliente quiere 2 entonces se le asignaria la 100 y la 150
el problema es que pasa si 2 clientes entran al “mismo tiempo” y ven que
esta disponible la 100 y el segundo cliente quiere 3 supongamos
entonces el primero se quedaria con 100, 150 y el segundo con 100, 150,
151
lo cual no puede ser
digo no me a pasado en el entorno de pruebas, pero se supone que cuando
este
en produccion pudiera darse el caso a lo que, seria de
poner algun tipo de semaforo o mutex o algo antes de entrar al proceso
que
saca los folios a asignar y liberarlo al final, que solo 1 usuario pueda
estar ejecutando el proceso que asigna las polizas, para asi evitar ese
problema.
mi duda es como hago eso en ruby on rails =S
alguna idea?
el proceso que te da cuales polizas te tocarian ya esta, solo faltaria
dejarlo en un proceso sincronizado o algo por el estilo.
Ing. Omar S. Jimenez Becerra