如何使用MySQL / PHP自动从池中为人员分配记录,同时防止跨任务

时间:2014-03-14 02:46:02

标签: php mysql

我有一个用PHP编写的脚本。它使用MySQL数据库来存储记录。

基本上,我有一组用户正在对不同的业务进行随机调用。我想在队列“池表”中添加电话号码列表。系统需要将新呼叫分配给用户。现在如果用户已经在打电话,我不希望其他用户开始拨打相同的号码。我需要一个解决方案来防止2个人分配相同的记录。因此,如果为用户X分配了电话号码000-000-0000,则将跳过相同的记录,并将下一个记录分配给下一个可用用户。

这个表格将被大量访问,因此我需要一个好的解决方案,以防止2个人在同一记录上工作,也不会导致系统问题。

我能想到的一种方法是寻找更好的解决方案

  1. open transaction
  2. 选择记录状态可用的电话
  3. 通过将状态从可用记录更改为记录待处理状态来更新该呼叫。
  4. 提交交易。
  5. 如果使用完成了呼叫,则更新状态为已完成,否则再次使记录可用。

    我可以使用的其他解决方案是什么?

    由于

1 个答案:

答案 0 :(得分:0)

如果没有关于工作流程的更多信息,很难知道建议什么,但听起来用户在接听电话时会以某种方式与应用程序进行交互......真的吗? 如果是这样,您必须有一些方法让用户提醒系统他们已准备好接听电话。 即... 我刚开始转变......给我一个号码。 要么... 提交上次通话中的备注...点击提交并给我另一个号码。

在这种情况下,让用户"请求"似乎应该很容易。下一个号码。您可以在该记录上插入用户ID,以便在队列中显示。