示例#1
0
文件: service.go 项目: pomkine/weasel
func startWorker(in <-chan task, storage *db.ProxyStorage) {
	for {
		t := <-in
		logger.Tracef("Running checks [%v] for %v", t.checks, t.target)
		r, err := client.CheckProxy(t.target, t.checks)
		if err != nil {
			logger.Errf("Error while checking proxy %v. Error: %v", t.target, err)
			continue
		}
		logger.Tracef("Got check results for %v. Results: %v", t.target, r)

		t.target.LastUpdateTS = time.Now().Unix()
		t.target.Http = r.CheckResults["http"]
		t.target.Https = r.CheckResults["https"]
		t.target.Ping = r.Ping
		storage.SaveProxy(t.target, true)
	}
}