diff --git a/main.go b/main.go index 94ee77c47b343cbb3e62ff43aa14074282867007..f07d64ed9e4411e1a21aa5f84093d1d8b42e30de 100644 --- a/main.go +++ b/main.go @@ -68,23 +68,25 @@ func processImage(config *Config, client *redis.Client, value string) { } func main() { - config := NewConfigFromEnv() + go func() { + config := NewConfigFromEnv() - imagick.Initialize() - defer imagick.Terminate() + imagick.Initialize() + defer imagick.Terminate() - client := redis.NewClient(&redis.Options{ - Addr: config.Redis.Address, - Password: config.Redis.Password, - }) + client := redis.NewClient(&redis.Options{ + Addr: config.Redis.Address, + Password: config.Redis.Password, + }) - for { - element := client.BLPop(0, fmt.Sprintf("queue:%s", config.ImageQueue)) - if len(element.Val()) == 2 { - value := element.Val()[1] - go processImage(&config, client, value) + for { + element := client.BLPop(0, fmt.Sprintf("queue:%s", config.ImageQueue)) + if len(element.Val()) == 2 { + value := element.Val()[1] + go processImage(&config, client, value) + } } - } + }() http.HandleFunc("/healthz", func(w http.ResponseWriter, r *http.Request) { w.Write([]byte("OK"))