diff --git a/internal/app/app.go b/internal/app/app.go index 2bd5f0f..3fcc103 100644 --- a/internal/app/app.go +++ b/internal/app/app.go @@ -71,14 +71,18 @@ func (app *App) Run() { surugayaScrapper := newSurugayaScrapperClient(app.config.GrpcCfg.SurugayaScrapperHost + ":" + app.config.GrpcCfg.SurugayaScrapperPort) //task processor - handlers := map[string]parsers.TaskHandler{ - shared.OriginSurugaya: parsers.NewSurugayaParser(ctx, surugayaScrapper), + handlers := make(map[string]parsers.TaskHandler) - shared.OriginMandarake: mandarake.NewParser(mandarake.ParserDeps{ + if app.config.OriginEnabled.Surugaya { + handlers[shared.OriginSurugaya] = parsers.NewSurugayaParser(ctx, surugayaScrapper) + } + + if app.config.OriginEnabled.Mandarake { + handlers[shared.OriginMandarake] = mandarake.NewParser(mandarake.ParserDeps{ Enabled: app.config.OriginEnabled.Mandarake, ExternalBrowser: app.config.ExternalBrowser, GoroutinesNumber: app.numCPUs, - }), + }) } taskProcessor := processor.New(processor.Deps{ diff --git a/internal/processor/service.go b/internal/processor/service.go index f2b2d82..4748566 100644 --- a/internal/processor/service.go +++ b/internal/processor/service.go @@ -26,10 +26,8 @@ func (p *Processor) StartWork(receivedTasks []shared.TaskResponse) { wg.Add(1) go func(origin string, tasks []shared.Task) { defer wg.Done() - if p.handlers[origin] != nil { - log.Info("Running task handler for origin: ", origin) - p.handlers[origin].HandleTasks(tasks, p.out, p.state) - } + log.Info("Running task handler for origin: ", origin) + p.handlers[origin].HandleTasks(tasks, p.out, p.state) }(origin, tasks) } wg.Wait()