> Сначала делал UPDATE таблицы, а потом выбирал нужные записи.

Минус этого варианта в том, что если worker умрет, надо вернуть задачи
обратно в очередь.

В MySQL есть GET_LOCK(name), RELEASE_LOCK(name) которые не привязаны к
таблице, и удаляются при потере соединения.
Читаем задачу, формируем имя лока, пробуем залочить - получилось -
выполняем, не получилось - переходим к следующей задаче.

-- 
Sergey
-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить