Очередь заданий на PHP/MySQL. Пишу очередной костыль?
Самый простой способ — по крону запускаете «надсмотрщика» (supervisor). Надсмотрщик сохраняет свой PID в файл, мемкеш или БД и если видит, что другой надсмотрщик уже запущен — молча умирает.

Надсмотрщик должен быть предельно прост, чтобы не падать. Обнаружить падение надсмотрщика можно по тому признаку, что файл с PID есть, а процесса с таким PID нет — значит предыдущий надсмотрщик внезапно завершился. Это можно зафиксировать в лог.

Если надсмотрщик запустился и других надсмотрщиков нет, он берет задания и запускает одного или несколько скриптов-рабочих (worker), каждому раздает по заданию. Если кто-то из рабов успешно завершился, помечаем задачу как выполненную, если умер — он логгирует это и запускает нового, если с N попыток задача так и не сделана, она помечается как невыполнимая и больше не выполняется.
Погуглите phpdeamon. Думаю, однопоточного демона тут вполне достаточно. Есть задача — работаем. Нету — слип на 10/60/600 сек. Запуск демона можно будет прикрутить на крон. 

Грамотно — не использовать паттерн «костыль», а пользовать готовое решение, разбираясь в нем по ходу дела :)