Redis-queue队列问题,think-orm添加数据后调用send()方法。不消费

jinxuezhi

向数据库INSERT数据。ID返回了,但数据库里没有添加数据。
源码如下
调用send方法
截图
添加数据
截图
查看日志,显示有INSERT语句,但MYSQL里没有
截图

相同的代码,在别外一个文件里执行就正常
源码如下
调用send方法
截图
添加数据
截图
这2个文件在不同的目录下,use也用了别名
截图

不知道哪里的问题?大佬帮看下呗

90 2 0
2个回答

可能是哪里使用了事物,没有提交事物导致的

  • jinxuezhi 2天前

    感谢回复,我找了下,删除数据的时候使用了Db::transaction()。
    最奇怪的是,另外一个接口被调用100%好用。只有第二接口。被调用的时候,100%不好用
    他们调用的是同一个队列,只不过是2个接口,我把好用的接口注释掉,只用不好用的接口,它也不行。
    我又把send方法注释掉,数据库里就有记录了

jinxuezhi

找到原因了,事物里有删除日志表的语句(就是之前INSERT那个表)。所以一直出现奇怪的问题。
(调用SEND之前INSERT A表,消费里有事物,事物里有delete A表)。
感谢

  • 暂无评论
🔝