1

我的目标 - 检查作业是否已在具有指定参数的队列中。假设我为用户 id 1 添加了工作。之后另一个管理员想为用户 id 1 添加相同的工作。如何防止这种情况发生?

4

1 回答 1

0

当作业排队时,将用户的状态更改为 Queued 状态。

在将用户推送到作业之前,请检查 ID 是否已存在且 status = Queued,如果存在则不要将其排队。

不知道你已经拥有什么,代码明智,但这里有一个例子:

在我自己的一个项目中,它看起来像这样

$oCampaignCustomer->status = ModelCampaignCustomer::STATUS_INVITE_EMAIL_QUEUED;
$oCampaignCustomer->save();

哪里$oCampaignCustomer有模特。你也可以像这样查询

DB::table('forms')
->where('campaign_customer_id', $id)
->update(['status' => '1']);

要更新状态,请在使用此更新之前检查状态

于 2016-09-06T13:54:02.213 回答