假设在管理面板中,一个用户正在编辑任何实体,如果另一个用户也试图编辑相同的实体/产品信息,那么该用户可以得到一个通知或“其他人已经在编辑相同的实体,请他等待”之类的信息。
3xiyfsfu1#
您需要一种将实体标记为忙碌的方法。一个好方法:向实体的表中添加两列。
busy_user INT either a user id or zero busy_until TIMESTAMP the time when the busy setting expires, in case the user goes away
然后,当用户尝试编辑项目时,您可以执行以下操作:如果 busy_user 为非零且不是当前用户,并且 busy_until > NOW() 拒绝编辑请求;项目正忙。套 busy_user 设置为当前用户的id。设置为 NOW() + INTERVAL 5 MINUTE 根据需要进行编辑。当用户完成编辑时,设置 busy_user 归零。
busy_user
busy_until > NOW()
NOW() + INTERVAL 5 MINUTE
1条答案
按热度按时间3xiyfsfu1#
您需要一种将实体标记为忙碌的方法。
一个好方法:向实体的表中添加两列。
然后,当用户尝试编辑项目时,您可以执行以下操作:
如果
busy_user
为非零且不是当前用户,并且busy_until > NOW()
拒绝编辑请求;项目正忙。套
busy_user
设置为当前用户的id。设置为NOW() + INTERVAL 5 MINUTE
根据需要进行编辑。当用户完成编辑时,设置
busy_user
归零。