que tienen una tabla de MySQL de tareas a realizar, teniendo cada fila parámetros para una sola tarea.
Hay muchas aplicaciones de trabajo (posiblemente en diferentes máquinas), que realizan tareas en un bucle.
Las aplicaciones acceden a la base de datos utilizando las API nativas en C de MySQL.MySQL UPDATE y SELECT de una sola pasada
Con el fin de poseer una tarea, una aplicación hace algo así:
Generar un identificador único global (para simplificar, digamos que es un número)
UPDATE tasks
SET guid = %d
WHERE guid = 0 LIMIT 1
SELECT params
FROM tasks
WHERE guid = %d
Si la última consulta devuelve una fila, somos dueños de ella y tener los parámetros para ejecutar
¿Hay una manera de conseguir el mismo efecto (es decir, 'poseer' una fila y obtener sus parámetros) en una sola llamada al servidor?
Las cerraduras son una exageración en este caso. La solución anterior usa el bloqueo interno de MySQL, por lo tanto, es mucho más rápido. –
Veo su punto ... no necesita bloqueos aquí ... No tengo conocimiento de una sola llamada. – Daniel