I need a simple table that acts as a Queue. My MySQL server restriction is I can\'t use InnoDB tables, only MyISAM.
Clients/workers will work at the same time and they w
You need to turn your ordering around so there is no timing window.
Consumer POP (each consumer has a unique $consumer_id)
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;
Supplier PUSH
insert into queue
(id, last_pop, ...)
values
(NULL, NULL, ...);
The queue is ordered in time by the id column and assigned upon POP by to the consumer_id.