From 3eaf1c714e1257f2191183fb2825940daae97b47 Mon Sep 17 00:00:00 2001 From: Eduard Urbach Date: Sat, 8 Jul 2017 16:10:22 +0200 Subject: [PATCH] Fixed avatar downloader --- jobs/avatars/avatars.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/jobs/avatars/avatars.go b/jobs/avatars/avatars.go index 6f545413..58865834 100644 --- a/jobs/avatars/avatars.go +++ b/jobs/avatars/avatars.go @@ -6,6 +6,7 @@ import ( "path" "reflect" "runtime" + "sync" "time" _ "image/gif" @@ -24,6 +25,7 @@ const ( var avatarSources []AvatarSource var avatarOutputs []AvatarOutput var avatarLog = log.New() +var wg sync.WaitGroup // Main func main() { @@ -88,14 +90,17 @@ func main() { } // Worker queue - usersQueue := make(chan *arn.User, 512) + usersQueue := make(chan *arn.User, runtime.NumCPU()) StartWorkers(usersQueue, Work) // We'll send each user to one of the worker threads for user := range arn.MustStreamUsers() { + wg.Add(1) usersQueue <- user } + wg.Wait() + color.Green("Finished.") } @@ -112,6 +117,7 @@ func StartWorkers(queue chan *arn.User, work func(*arn.User)) { // Work handles a single user. func Work(user *arn.User) { + fmt.Println(user.ID, "|", user.Nick) user.AvatarExtension = "" for _, source := range avatarSources {