production ready x2
All checks were successful
Gitea Actions Demo / Release Go Binary (arm, linux) (push) Successful in 46s
Gitea Actions Demo / Release Go Binary (amd64, darwin) (push) Successful in 55s
Gitea Actions Demo / Release Go Binary (amd64, linux) (push) Successful in 59s
Gitea Actions Demo / Release Go Binary (amd64, windows) (push) Successful in 58s
Gitea Actions Demo / Release Go Binary (arm64, darwin) (push) Successful in 39s
Gitea Actions Demo / Release Go Binary (mips, linux) (push) Successful in 49s
Gitea Actions Demo / Release Go Binary (arm64, linux) (push) Successful in 48s
Gitea Actions Demo / Release Go Binary (loong64, linux) (push) Successful in 49s
Gitea Actions Demo / Release Go Binary (riscv64, linux) (push) Successful in 44s

This commit is contained in:
yzqzss 2024-06-09 16:29:24 +08:00
parent f8a243e441
commit c700d6a202
3 changed files with 26 additions and 22 deletions

View File

@ -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()

2
go.mod
View File

@ -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
)

4
go.sum
View File

@ -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=