У меня есть таблица задач MySQL для выполнения, каждая строка имеет параметры для одной задачи.
Существует множество рабочих приложений (возможно, на разных компьютерах), выполняющих задачи в цикле.
Приложения получают доступ к базе данных с помощью API-интерфейсов API, основанных на MySQL.
Чтобы выполнить задачу, приложение делает что-то вроде этого:
-
Создайте глобально уникальный идентификатор (для простоты, допустим, это число)
-
UPDATE tasksSET guid = %dWHERE guid = 0 LIMIT 1 -
SELECT paramsFROM tasksWHERE guid = %d -
Если последний запрос возвращает строку, мы владеем ею и имеем параметры для запуска
Есть ли способ добиться такого же эффекта (т.е. "собственный" ряд и получить его параметры) в одном вызове на сервер?