Din kø kunne være mere kortfattet. I stedet for at stole på tilbagerulningen af transaktionen, kunne du gøre det i én atomudsagn uden en eksplicit transaktion:
UPDATE jobs SET process_id = ? WHERE process_id IS NULL ORDER BY ID ASC LIMIT 1;
Så kan du trække job med (parenteser [] betyder valgfrit, afhængigt af dine oplysninger):
SELECT * FROM jobs WHERE process_id = ? [ORDER BY ID LIMIT 1];