production ready
This commit is contained in:
parent
04795c1815
commit
f8a243e441
@ -41,6 +41,7 @@ var Logger = log.New(os.Stdout, "[huashijie_work] ", log.Ldate|log.Ltime|log.Lms
|
||||
|
||||
// ClaimTask 并把任务放入 task_chan
|
||||
func claimWorker(i int, tracker *savewebtracker.Tracker) {
|
||||
Logger.Println("[START] ClaimWorker", i)
|
||||
for {
|
||||
if Interrupted {
|
||||
Logger.Println("[STOP] ClaimWorker", i, "exitting...")
|
||||
@ -63,6 +64,7 @@ func claimWorker(i int, tracker *savewebtracker.Tracker) {
|
||||
}
|
||||
|
||||
func ProcesserWorker(i int, tracker *savewebtracker.Tracker) {
|
||||
Logger.Println("[START] ProcesserWorker", i)
|
||||
defer Logger.Println("[STOP] ProcesserWorker", i, " exited")
|
||||
defer WaitProcesserWorker.Done()
|
||||
for task := range tasks_chan {
|
||||
@ -149,13 +151,27 @@ func GetRetryableHttpClient(timeout time.Duration, debug bool) *http.Client {
|
||||
return standardClient
|
||||
}
|
||||
|
||||
func ShowStatus(t *savewebtracker.Tracker) {
|
||||
for {
|
||||
project_json, err := json.Marshal(t.Project())
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
Logger.Println("Project:", string(project_json))
|
||||
time.Sleep(60 * time.Second)
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
tracker := savewebtracker.GetTracker("test", "1.0", savewebtracker.Archivist()+"-go-channel")
|
||||
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.SelectBestTracker().StartSelectTrackerBackground().StartFetchProjectBackground()
|
||||
|
||||
go InterruptHandler()
|
||||
go ShowStatus(tracker)
|
||||
|
||||
Logger.Println("-- Start --")
|
||||
|
||||
for i := 0; i < BASE_CONCURRENCY; i++ {
|
||||
go claimWorker(i, tracker)
|
||||
|
Loading…
Reference in New Issue
Block a user