- avoid memory leak in TransferLegacyJdOrder and TransferLegacyElmOrder.
This commit is contained in:
@@ -4,6 +4,7 @@ import (
|
||||
"fmt"
|
||||
"math"
|
||||
"runtime"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/baseapi/platformapi/jdapi"
|
||||
@@ -289,8 +290,9 @@ func TransferLegacyJdOrder(ctx *jxcontext.Context, isAsync, isContinueWhenError
|
||||
var orderDetailList []*model.GoodsOrderOriginal
|
||||
for _, v := range batchItemList {
|
||||
jdOrder := v.(*legacymodel2.Jdorder)
|
||||
if len(jdOrder.Data) > 10 {
|
||||
var detail map[string]interface{}
|
||||
if err = utils.UnmarshalUseNumber([]byte(jdOrder.Data), &detail); err != nil {
|
||||
if err = utils.UnmarshalUseNumber([]byte(strings.Replace(strings.Replace(jdOrder.Data, "\n", "", -1), "\r", "", -1)), &detail); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
resultList := detail["result"].(map[string]interface{})["resultList"].([]interface{})
|
||||
@@ -309,12 +311,14 @@ func TransferLegacyJdOrder(ctx *jxcontext.Context, isAsync, isContinueWhenError
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if len(orderDetailList) > 0 {
|
||||
err = dao.CreateMultiEntities(db, orderDetailList)
|
||||
}
|
||||
return nil, err
|
||||
}, jdOrderList)
|
||||
rootTask.AddChild(task).Run()
|
||||
// rootTask.AddChild(task).Run()
|
||||
task.Run()
|
||||
_, err = task.GetResult(0)
|
||||
runtime.GC()
|
||||
} else {
|
||||
@@ -352,8 +356,9 @@ func TransferLegacyElmOrder(ctx *jxcontext.Context, isAsync, isContinueWhenError
|
||||
var orderDetailList []*model.GoodsOrderOriginal
|
||||
for _, v := range batchItemList {
|
||||
elmOrder := v.(*legacymodel2.Elemeorder)
|
||||
if len(elmOrder.Data) > 10 {
|
||||
var detail map[string]interface{}
|
||||
if err = utils.UnmarshalUseNumber([]byte(elmOrder.Data), &detail); err != nil {
|
||||
if err = utils.UnmarshalUseNumber([]byte(strings.Replace(strings.Replace(elmOrder.Data, "\n", "", -1), "\r", "", -1)), &detail); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
orderDetail := &model.GoodsOrderOriginal{
|
||||
@@ -365,12 +370,14 @@ func TransferLegacyElmOrder(ctx *jxcontext.Context, isAsync, isContinueWhenError
|
||||
}
|
||||
orderDetailList = append(orderDetailList, orderDetail)
|
||||
}
|
||||
}
|
||||
if len(orderDetailList) > 0 {
|
||||
err = dao.CreateMultiEntities(db, orderDetailList)
|
||||
}
|
||||
return nil, err
|
||||
}, elmOrderList)
|
||||
rootTask.AddChild(task).Run()
|
||||
// rootTask.AddChild(task).Run()
|
||||
task.Run()
|
||||
_, err = task.GetResult(0)
|
||||
runtime.GC()
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user