task-processor/internal/parsers/mandarake/handler.go

42 lines
808 B
Go
Raw Normal View History

2025-12-26 16:19:09 +03:00
package mandarake
import (
log "github.com/sirupsen/logrus"
2026-02-28 23:33:22 +03:00
"time"
2025-12-26 16:19:09 +03:00
)
const (
zeroPrice int32 = 0
taxMultiplier float64 = 1.1
2026-02-28 10:53:02 +03:00
logHeader = "Mandarake parser |"
logWorker = "worker:"
logTaskWarning = "task warning:"
logGetPrice = "get price:"
2025-12-26 16:19:09 +03:00
)
type Parser struct {
externalBrowser string
goroutinesNumber int
2026-02-28 23:33:22 +03:00
taskTimeout time.Duration
2025-12-26 16:19:09 +03:00
}
2026-02-28 10:53:02 +03:00
type Deps struct {
2025-12-26 16:19:09 +03:00
Enabled bool
ExternalBrowser string
GoroutinesNumber int
2026-02-28 23:33:22 +03:00
TaskTimeout int
2025-12-26 16:19:09 +03:00
}
2026-02-28 10:53:02 +03:00
func NewParser(deps Deps) *Parser {
2025-12-26 16:19:09 +03:00
if !deps.Enabled {
2026-02-28 23:33:22 +03:00
log.Infof("%v disabled", logHeader)
2025-12-26 16:19:09 +03:00
return nil
}
return &Parser{
externalBrowser: deps.ExternalBrowser,
goroutinesNumber: deps.GoroutinesNumber,
2026-02-28 23:33:22 +03:00
taskTimeout: time.Minute * time.Duration(deps.TaskTimeout),
2025-12-26 16:19:09 +03:00
}
}