为了账号安全,请及时绑定邮箱和手机立即绑定

laravel 异步队列问题

laravel 异步队列问题

PHP
12345678_0001 2019-03-15 17:36:35
在上传csv文件,需要对文件里的一些数据做处理,便使用了异步队列来处理。先创建了一个模型的监听,在数据保存后将分发任务 public function saved(Import $import)     {       dispatch(new AsyncHandleImportData($import));     }每保存一条数据,就有一个任务分发给队列,数据处理后存储在另外一个表(a)中。在任务的处理中,我需要传递过来的数据和a表里的数据比对,但是发现一个问题,任务像是并行的。例如我插入了2000条数据,有2000个任务。在执行后并没有如我预期的,先执行的任务数据已经插入a表,后面执行的任务获取到a表里的数据,进行对比,似乎是所有任务执行时获取的a表数据全部是空的。等于这些数据没有经过处理又全部插入a表了。 if($this->exist){        //预期中一些数据应该走这里  }else{            //全部走这里         }                           有大佬能解答一下么?
查看完整描述

2 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

你这个程序不完整。可能性有很多:

  1. 你读表时候的数据库链接是否成功建立。

  2. 你的$this->exist获取是否合法。


查看完整回答
反对 回复 2019-03-15
  • 2 回答
  • 0 关注
  • 675 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信