我正在使用以下标准构建应用程序:
- 工作项目:需要用户通过网络手动工作的项目(短一页表格)
- 多个用户工作“工作项”
- 每个用户都有一个“工作项”队列
- 有一个搜索允许用户查看“工作项”并将“工作项”分配给他们的队列
- 用户可以将“工作项”从其他人的队列中分配给自己
注意:“工作项”只工作一次。这不是一个 wiki 页面,它更像是一个匹配的练习,只能由一个用户执行一次。一旦“工作项”工作完成,它就会从系统中消失(除了一些审计/报告),有点像错误跟踪系统
你认为哪个选项更好?你能引用任何支持你观点的主流应用程序吗?
选项1:
- 当用户 A 去查看或工作“工作项”时,“工作项”被锁定。
- 当用户 A 打开“工作项”后,其他用户进入“工作项”时,他们将只能看到“工作项”。他们不能写。
- 锁定在 n 分钟后到期,此时另一个用户可以锁定“工作项”。
选项 2:
- 任何用户都可以在不锁定的情况下拉起“工作项”。
- 如果用户 A 通过提交表单来处理“工作项”而用户 B 处理相同的“工作项”,则用户 A 的工作将在数据库中生效,并且用户 B 将被告知他们的更改没有生效,因为另一个用户已修改“工作项”。
我个人喜欢选项 2。请问有什么想法吗?