问题描述
我有一个名为queue_items
的表,该表具有3列。
'item' varchar(500) the item that has been queued
'processed_at' a datetime to mark when it has started processing,and
'completed_at' a datetime to mark when it has completed in the queue worker
这是我选择项目的方式,
SELECT `id`,`item` FROM `queue_items` WHERE `processed_at` IS NULL AND `completed_at` IS NULL ORDER BY `id` ASC LIMIT 1
一旦检查它是否存在并且可以被处理,我将执行以下操作:
UPDATE `queue_items` SET `processed_at` = @processedAt WHERE `id` = @id
问题是,在更新processed_at
之前,另一个队列工作人员可以拿起我刚刚选择的项目。我该如何阻止这种情况发生?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)