Laravel 5.2 在添加新作业之前检查排队的作业
Laravel 5.2 check queued jobs before add new one
我的目标 - 检查作业是否已在具有指定参数的队列中。
比方说,我为用户 ID 1 添加了工作。
之后,另一个管理员想要为用户 ID 1 添加相同的作业。
如何预防?
在作业排队时将用户状态更改为已排队状态。
在将用户推送到作业之前,请检查 ID 是否已存在且状态 = 已排队,如果存在则不要将其排队。
不知道你已经拥有什么,代码明智,但这里有一个例子:
在我自己的一个项目中它看起来像这样
$oCampaignCustomer->status = ModelCampaignCustomer::STATUS_INVITE_EMAIL_QUEUED;
$oCampaignCustomer->save();
其中 $oCampaignCustomer
是模型。
你也可以像
这样查询
DB::table('forms')
->where('campaign_customer_id', $id)
->update(['status' => '1']);
要更新状态,请在使用此更新之前先检查状态
我的目标 - 检查作业是否已在具有指定参数的队列中。 比方说,我为用户 ID 1 添加了工作。 之后,另一个管理员想要为用户 ID 1 添加相同的作业。 如何预防?
在作业排队时将用户状态更改为已排队状态。
在将用户推送到作业之前,请检查 ID 是否已存在且状态 = 已排队,如果存在则不要将其排队。
不知道你已经拥有什么,代码明智,但这里有一个例子:
在我自己的一个项目中它看起来像这样
$oCampaignCustomer->status = ModelCampaignCustomer::STATUS_INVITE_EMAIL_QUEUED;
$oCampaignCustomer->save();
其中 $oCampaignCustomer
是模型。
你也可以像
DB::table('forms')
->where('campaign_customer_id', $id)
->update(['status' => '1']);
要更新状态,请在使用此更新之前先检查状态