Вашата опашка може да бъде по-сбита. Вместо да разчитате на връщане назад на транзакцията, можете да го направите с едно атомарно изявление без изрична транзакция:
UPDATE jobs SET process_id = ? WHERE process_id IS NULL ORDER BY ID ASC LIMIT 1;
След това можете да изтегляте задания с (скобите [] означават незадължителни, в зависимост от вашите данни):
SELECT * FROM jobs WHERE process_id = ? [ORDER BY ID LIMIT 1];