From 6c3ae9d9a81f69c32e70334cebd51a0de96ee156 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 22 Jun 2024 13:10:34 +0800 Subject: [PATCH] 1 --- server/backtask/task/repair_nft.go | 38 ++++++++++++++++++++++++ server/backtask/task/spec_transfer721.go | 2 +- 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/server/backtask/task/repair_nft.go b/server/backtask/task/repair_nft.go index dc94e9a2..06f32ced 100644 --- a/server/backtask/task/repair_nft.go +++ b/server/backtask/task/repair_nft.go @@ -1,5 +1,13 @@ package task +import ( + "q5" + "f5" + "time" + "fmt" + "main/constant" +) + type repairNft struct { } @@ -12,4 +20,34 @@ func (this* repairNft) unInit() { } func (this* repairNft) process() { + var lastIdx int64 + for true { + hasNextData := false + sql := fmt.Sprintf(` +SELECT * FROM nft WHERE idx > %d AND item_id = 0 LIMIT 1000`, + lastIdx, + ) + f5.GetGoStyleDb().RawQuery( + constant.BCNFT_DB, + sql, + []string{ + }, + func (err error, ds *f5.DataSet) { + if err == nil { + for ds.Next() { + idx := q5.ToInt64(ds.GetByName("idx")) + if idx > lastIdx { + lastIdx = idx + } + hasNextData = true + } + } + }) + if hasNextData { + time.Sleep(time.Second * 5) + } else { + lastIdx = 0 + time.Sleep(time.Second * 60 * 5) + } + } } diff --git a/server/backtask/task/spec_transfer721.go b/server/backtask/task/spec_transfer721.go index c6c53547..e48cd838 100644 --- a/server/backtask/task/spec_transfer721.go +++ b/server/backtask/task/spec_transfer721.go @@ -52,5 +52,5 @@ SELECT * FROM t_721nft_spec_transfer WHERE idx > %d LIMIT 1000`, } } -func (this* specTransfer721) process(ds *f5.DataSet) { +func (this* specTransfer721) process1(ds *f5.DataSet) { }