package scrapper import ( "context" "sync" "time" ) const ( originName = "mandarake" zeroPrice int32 = 0 taxMultiplier float64 = 1.1 pkgLogHeader = "Scrapper |" logWorker = "worker:" logTaskWarning = "task warning:" logGetPrice = "get price:" ) type Scrapper struct { externalBrowser string goroutinesNumber int taskTimeout time.Duration poolCancel context.CancelFunc allocCancel context.CancelFunc wg sync.WaitGroup } type Deps struct { ExternalBrowser string GoroutinesNumber int TaskTimeout int } func New(deps Deps) PriceScrapper { return &Scrapper{ externalBrowser: deps.ExternalBrowser, goroutinesNumber: deps.GoroutinesNumber, taskTimeout: time.Second * time.Duration(deps.TaskTimeout), } }