in reply to Managing a web form submission work queue
A way ensure that, even if the database doesn't allow atomic operations is to have a field (call it lock (int)) in your row. When you want to select that row, do a
Then you select that row, and examine the lock. If it is $$, then your process has the lock. If it is something else, another process swooped in at the last moment, and it has the lock. If it is 0, then you have a serius problem :-).update table set lock=$$ where id=foo and lock=0
|
---|