框架分别的处理方案: laravel:数据2不会创建成功,并且会影响之后的所有数据的创建 hyperf:数据2创建成功,并在终端抛出您可能上一个事务未回滚的提醒,并且执行了一次回滚操作。
为什么?...laravel框架消费时为线性消费,例如运用了supervisor,第一次事务未关闭影响第二次消费的事务,这是由于抛异常时没有及时回滚事务所导致的。...hyperf在消费时会新建新的协程进行操作,使用create 或者 Parallel进行创建新的协程进行消费,在DBconnect中会判断当前协程是否已经有链接,如果检查到有链接会调用defer进行release...操作,判断是否在事务内,如果在,则立即回滚
解决方案: laravel中,在providers/EventServiceProvide 的$listen 中 监听 JobProcessed 和 JobExceptionOccured...避免使用Inject 依赖注入带有链接(例如rpc的类)
因为他会在框架启动前去链接一次
12. 注意协程上下文处理
例如在处理中间件时忘记注入上下文,导致当前获取的上下文内容不属于此协程
13.