Самый простой путь сделать колонку в базе = lok - выбирать с лок 0 и сразу лочить 1, по окончанию возвращать в 0.
Так как это не банковские операции и конкуренция не очень дикая, то в большинстве случаев этого будет достаточно.
Это решается проше, у меня стоит парсинг на пост гет свыше 30 смс сервисов.
Там где плюс я применяю регулярку, даже если нет плюса регулярка проскакивает мимо.
alt text