Você precisa mudar seu pedido para que não haja janela de tempo.
POP do consumidor (cada consumidor tem um $consumer_id exclusivo)
Update queue
set last_pop = '$consumer_id'
where last_pop is null
order by id limit 1;
$job =
Select * from queue
where last_pop = '$consumer_id'
order by id desc
limit 1;
EMPURRAR Fornecedor
insert into queue
(id, last_pop, ...)
values
(NULL, NULL, ...);
A fila é ordenada no tempo pela coluna id e atribuída no POP pelo consumer_id.