我有一个自助交付中心的应用程序,其中有几个运营商(用户)可以处理他们共同的订单列表。但我需要限制它们同时处理相同的订单。
即。当某个用户查看订单并且第二个用户也进入该订单时,不得为第二个用户显示处理按钮。
如何在Laravel 5.5中执行此操作?
答案 0 :(得分:0)
虽然有很多可能的方法来处理这样的问题,但为该订单添加一个缓存条目以指示它当前正在处理它可能会起到作用。
有一些警告,但以下逻辑可能有效:
这可能会满足您的要求,甚至可能更多。老实说,根据您的要求,听起来可能会有更多您无法考虑的事情,但可以随时要求进一步澄清。
答案 1 :(得分:0)
您的问题有点Race condition。
一个不错的解决方法是在正在查看的订单上设置锁定标志并设置释放它的超时,但由于此(主要)问题,您必须重新考虑应用程序架构。