Laravel Command 数据被insert两次

应用中有个功能是用Command 任务定时获取API财务数据,每次获取到的财务数据存到数据库,原始数据如下图,一共是9笔订单,

Laravel Command 数据被insert两次

但实际加到数据库数量翻倍了,18行数据,能看到insert了两次,相隔2秒。
这个问题每两三个月都要出现一两次,总是要核对数据,有人知道是怎么回事不?是不是和服务器有关,目前服务器是Linux Ubantu 14,PHP7.2, Laravel 5.8、MariaDB 。

Laravel Command 数据被insert两次

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

重复处理?当前任务没执行,下一次任务又开始了?

4年前 评论
KaneYoung (楼主) 4年前
讨论数量: 8

财务数据有问题没?代码呢?

4年前 评论
KaneYoung (楼主) 4年前
赌赌赌赌赌赌赌圣! (作者) 4年前
自由与温暖是遥不可及的梦想

你确定 财务数据没有问题???

4年前 评论
KaneYoung (楼主) 4年前
自由与温暖是遥不可及的梦想 (作者) 4年前

事件? 那可能是

EventServiceProvider.php注册了事件

又开启 自动发现事件

导致执行两次事件

4年前 评论
KaneYoung (楼主) 4年前
lyxxxh (作者) 4年前

重复处理?当前任务没执行,下一次任务又开始了?

4年前 评论
KaneYoung (楼主) 4年前

面太广了,不调代码不知道咋查,能不能加个唯一标示来解决哪。

4年前 评论

可以做个守护,比如redis set一个task1_ing为1,任务代码执行完以后删掉或者设置为0。在运行这个任务之前判断task1_ing是否为1。 最好要设置过期时间,避免中间报错任务一直进不去

4年前 评论
KaneYoung (楼主) 4年前

file 文档有说明,

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!