对于一个艺术项目,我正在尝试建立一个订购网站。该概念允许用户最多预订。每个艺术家的两个时间段。每个艺术家有 12 个插槽,但每个插槽都有特定的定义(因此每个插槽都是唯一的)。这些插槽仅在非常有限的时间内可用,希望能快速预订。所以短时间内会有很多请求。我必须确保每篇文章/广告位一次只提供给一个用户,并且不能重复预订。
我的想法是,检查下一个未预订的插槽 (status="free) 并根据该请求将表中相应行的状态更新为 status="locked"。如果用户继续实际预订插槽,状态更新为“已预订”。
如果用户单击“取消”,我可以通过将行更新为 status="free" 来发布文章。
但是,用户放弃该网站的可能性不大,我看不出有什么方法可以检查。该插槽将保持“锁定”状态。我在想,可能有一种方法可以自动重置状态,例如在“锁定”后 120 秒并向用户显示倒计时。这甚至可以增强兴奋因素。
我不认为 cron 工作会起作用,因为我需要锚是行的最后更新而不是特定的日期时间。
我查看了 MySQL 事件,但了解到我无法操作它所附加的表的数据。
我将不胜感激任何想法。谢谢,山姆