问题描述
我必须在 groutine 中运行 tx.exec(),但它总是返回 pq: bad conenction
和 pq: unexpected Parse response 'D'
这是我的代码示例:
func (uc odooUseCase) SynchronizetourPackage(tourPackageID,partnerID string,odooPackageID int64) (err error) {
var wg sync.WaitGroup
odooUc := odooUseCase{UcContract: uc.UcContract}
odooDB,err := odooUc.BuildConnection(partnerID)
if err != nil {
logruslogger.Log(logruslogger.WarnLevel,err.Error(),functioncaller.PrintFuncName(),"odoo-build-connection")
return err
}
defer odooDB.Close()
tourPackagePriceUseCase := TourPackagePriceUseCase{UcContract: uc.UcContract,odooDB: odooDB}
tourPackageMealUseCase := TourPackageMealUseCase{UcContract: uc.UcContract,odooDB: odooDB}
errs := make(chan error)
wg.Add(1)
go func() {
wg.Wait()
close(errs)
}()
wg.Add(1)
go func() {
err := tourPackagePriceUseCase.SaveFromodoo(tourPackageID,partnerID,odooPackageID)
if err != nil {
logruslogger.Log(logruslogger.WarnLevel,"save-tour-package-price",uc.ReqID)
errs <- err
}
defer wg.Done()
}()
wg.Add(1)
go func() {
err := tourPackageMealUseCase.SaveFromodoo(tourPackageID,"save-tour-package-meal",uc.ReqID)
errs <- err
}
defer wg.Done()
}()
err = <-errs
return err
}
我需要在 go 例程中运行一个 tx.exec,因为这个函数是从另一个数据库同步的。 请有人可以帮助我吗?谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)