问题描述
我正在研究Laravel / Cache和Laravel / Queue。我具有dispatch()
队列作业的功能UpdateTimeImpJob::dispatch($data)->delay(Carbon::Now()->addSeconds(10));
但是在某些情况下,在称为我的作业之后 10秒之前,我需要删除该特定的队列作业。不删除任何其他队列作业
如何删除特定的队列作业?
这是我的函数@mrhn
public function sendTimeImpressions(Request $request) {
$id = $request->input('IdImpLog');
Cache::put('cacheTimeImpLogId-'.$id,'cacheTimeImpLogId',15);
$data = $request->all();
$data['date'] = Carbon::Now()->format('H:i:s');
$data['dates'] = Carbon::Now()->addSeconds(4)->format('H:i:s');
UpdateTimeImpJob::dispatch($data)->delay(Carbon::Now()->addSeconds(2));
return response()->json([
'status'=>true,'message'=>'Update Time Impressions Success'
]);
}
我的工作案例是每秒从客户端发送一次发布请求,假设它的10秒= 10请求。但我只需要处理最后的第十个请求即可将其处理到数据库
所以,我的逻辑是。我创建了一个缓存来保存数据。并调用队列作业。如果要求只发送1次。因此,queque作业正在运行并处理到数据库
,当req发送2次或更多次时,仅最后一个请求需要处理
,因此,队列作业已被调用,需要先删除队列作业。 / p>
对不起,我英语不好。请帮助,谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)