From c700d6a20251b0c2ccd3de551129f96da45faea7 Mon Sep 17 00:00:00 2001 From: yzqzss Date: Sun, 9 Jun 2024 16:29:24 +0800 Subject: [PATCH] production ready x2 --- cmd/huashijie_work_go/huashijie_work_go.go | 42 ++++++++++++---------- go.mod | 2 +- go.sum | 4 +-- 3 files changed, 26 insertions(+), 22 deletions(-) diff --git a/cmd/huashijie_work_go/huashijie_work_go.go b/cmd/huashijie_work_go/huashijie_work_go.go index 799101a..e364525 100644 --- a/cmd/huashijie_work_go/huashijie_work_go.go +++ b/cmd/huashijie_work_go/huashijie_work_go.go @@ -20,17 +20,6 @@ import ( var BASE_CONCURRENCY = 10 var WITH_DELAY = true -func init() { - if os.Getenv("BASE_CONCURRENCY") != "" { - Logger.Println("BASE_CONCURRENCY:", os.Getenv("BASE_CONCURRENCY")) - BASE_CONCURRENCY, _ = strconv.Atoi(os.Getenv("BASE_CONCURRENCY")) - } - if os.Getenv("NO_WITH_DELAY") != "" { - Logger.Println("NO_WITH_DELAY:", os.Getenv("NO_WITH_DELAY")) - WITH_DELAY = false - } -} - var tasks_chan = make(chan savewebtracker.Task, BASE_CONCURRENCY) var Interrupted = false var WaitClaimWorker sync.WaitGroup @@ -38,14 +27,29 @@ var WaitProcesserWorker sync.WaitGroup // 2024/06/08 16:22:36 [huashijie_work] ... var Logger = log.New(os.Stdout, "[huashijie_work] ", log.Ldate|log.Ltime|log.Lmsgprefix) +var DEBUG = false + +func init() { + if os.Getenv("BASE_CONCURRENCY") != "" { + fmt.Println("BASE_CONCURRENCY:", os.Getenv("BASE_CONCURRENCY")) + BASE_CONCURRENCY, _ = strconv.Atoi(os.Getenv("BASE_CONCURRENCY")) + } + // if os.Getenv("NO_WITH_DELAY") != "" { + // fmt.Println("NO_WITH_DELAY:", os.Getenv("NO_WITH_DELAY")) + // WITH_DELAY = false + // } + if os.Getenv("DEBUG") != "" { + DEBUG = true + } +} // ClaimTask 并把任务放入 task_chan func claimWorker(i int, tracker *savewebtracker.Tracker) { Logger.Println("[START] ClaimWorker", i) + defer Logger.Println("[STOP] ClaimWorker", i, " exited...") + defer WaitClaimWorker.Done() for { if Interrupted { - Logger.Println("[STOP] ClaimWorker", i, "exitting...") - WaitClaimWorker.Done() return } task := tracker.ClaimTask(WITH_DELAY) @@ -58,17 +62,17 @@ func claimWorker(i int, tracker *savewebtracker.Tracker) { time.Sleep(notask_sleep) continue } - Logger.Println("Claimed task", task) + Logger.Println("Claimed task", task.Id) tasks_chan <- *task } } func ProcesserWorker(i int, tracker *savewebtracker.Tracker) { Logger.Println("[START] ProcesserWorker", i) - defer Logger.Println("[STOP] ProcesserWorker", i, " exited") + defer Logger.Println("[STOP] ProcesserWorker", i, " exited...") defer WaitProcesserWorker.Done() for task := range tasks_chan { - Logger.Println("Processing task", task) + Logger.Println("Processing task", task.Id) // 在这儿处理任务 body, r_status := huashijie_api.GetWorkDetailResponse(*tracker.HTTP_client, task.Id) @@ -93,7 +97,7 @@ func ProcesserWorker(i int, tracker *savewebtracker.Tracker) { case float64: if status == 1 { // OK - Logger.Println(r_json) + Logger.Println("len(body):", len(body), "->", string(body[:80]), "...") TO_INSERT = true item_status = 1 } else if status == 43 || status == 72 { @@ -164,8 +168,8 @@ func ShowStatus(t *savewebtracker.Tracker) { func main() { tracker := savewebtracker.GetTracker("huashijie_work_go_channel", "0.1.0", savewebtracker.Archivist()+"-go-channel") - tracker.PING_client = GetRetryableHttpClient(10*time.Second, true) - tracker.HTTP_client = GetRetryableHttpClient(60*time.Second, true) + tracker.PING_client = GetRetryableHttpClient(10*time.Second, DEBUG) + tracker.HTTP_client = GetRetryableHttpClient(60*time.Second, DEBUG) tracker.SelectBestTracker().StartSelectTrackerBackground().StartFetchProjectBackground() go InterruptHandler() diff --git a/go.mod b/go.mod index 5c52384..835e3e4 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module git.saveweb.org/saveweb/huashijie_work_go go 1.22.3 require ( - git.saveweb.org/saveweb/saveweb_tracker v0.1.7 + git.saveweb.org/saveweb/saveweb_tracker v0.1.9 github.com/hashicorp/go-retryablehttp v0.7.7 ) diff --git a/go.sum b/go.sum index 48c7ea4..bee91bf 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,5 @@ -git.saveweb.org/saveweb/saveweb_tracker v0.1.7 h1:j3OtEPNbK2sKYoYOE5nl3GD+4+9gozu4cRXLRYjJLp8= -git.saveweb.org/saveweb/saveweb_tracker v0.1.7/go.mod h1:p891f4fshoA/Wiwmey23f2xJ9sKNEZwd5kmzG6lobik= +git.saveweb.org/saveweb/saveweb_tracker v0.1.9 h1:b/MNBCV8p4B9pp/lqwVwttwTdOCEV4cYGayVVGEynu8= +git.saveweb.org/saveweb/saveweb_tracker v0.1.9/go.mod h1:p891f4fshoA/Wiwmey23f2xJ9sKNEZwd5kmzG6lobik= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM=