守护进程运行过程中出现部分重复性被插入


守护进程执行过程中出现数据被重复性的插入到数据库

###需要对大量数据的某个值进行内部数据的统计并进行分类插入不同的表进行存储,通过supervisorctl的守护进程进行此操作,在执行过程中发现有一部分数据在插入过程中会出现重复性的数据,造成统计分类的不准确,查看代码没有看到逻辑上的错误,打印日志也没有出现重复性的日志输出,但是最终数据库的记录依旧会出现重复,不知道是哪的问题,希望能够得到解决,谢谢。
特附上代码供参考

public function handle()
    {
        while(true) {
            $toolType = ['y'=>1,'m'=>2,'d'=>3,'h'=>4,'s'=>5];
            $productList=ProductService::getAllDataList();
            if(!empty($productList)){
                foreach($productList as $v ) {
                    $arrDetail = json_decode($v['detail'],true);
           $tag=ParameterData::ToDealForTag($arrDetail,$v,$v['pid'],$v['id'],$toolType);
$secTag=ParameterData::ToDealForSecTag($arrDetail,$v,$v['pid'],$v['id']);       $xtag=ParameterData::ToDealForClassi($arrDetail,$v,$v['pid'],$v['id']);
                    unset($arrDetail);
                    if (!empty($tag)){
                  // //此处日志打印记录正常,插入数组数据,但数据库中会出现部分相同的数据记录
                        ProductService::ProductTagAdd($tag);
                        unset($tag);
                  // //此处日志打印记录正常
                    }
                    if (!empty($xtag)) {
                        ProductService::ProductXtagAdd($xtag);
                        unset($xtag);
                    }
                    if (!empty($secTag)){
                        ProductService::ProductSectagAdd($secTag);
                        unset($secTag);
                    }             ProductService::ProductUpdateDetail(['id'=>$v['id'],'updated'=>time(),'is_per'=>0]);
                    //此处日志打印记录正常
                    unset($v);
                }
            }
            unset($productList);
            sleep(10);

        }
    }
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 2

我的定时任务也出现过,我这边一开始怀疑是mycat导致的,换mysql后也一样。后来觉得命令执行了多次,但用redis做了限制后还是会重复。现在觉得是php或laravel大数据运算的时候导致的。我把定时任务的命令分开服务器后就好了,但还是出现过一次。

1个月前 评论

@Chensun 我经过多次测试发现如果在插入之前对数据进行日志记录的话插入的数据是正常的

1个月前 评论
Chensun 1个月前

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!