MCPcopy Create free account
hub / github.com/imgproxy/imgproxy / New

Function New

workers/workers.go:22–39  ·  view source on GitHub ↗

New creates new semaphores instance

(config *Config)

Source from the content-addressed store, hash-verified

20
21// New creates new semaphores instance
22func New(config *Config) (*Workers, error) {
23 if err := config.Validate(); err != nil {
24 return nil, err
25 }
26
27 var queue *semaphore.Weighted
28
29 if config.RequestsQueueSize > 0 {
30 queue = semaphore.NewWeighted(int64(config.RequestsQueueSize + config.WorkersNumber))
31 }
32
33 workers := semaphore.NewWeighted(int64(config.WorkersNumber))
34
35 return &Workers{
36 queue: queue,
37 workers: workers,
38 }, nil
39}
40
41// Acquire acquires a worker.
42// It returns a worker release function and an error if any.

Callers 3

NewFunction · 0.92
SetupSuiteMethod · 0.92

Calls 1

ValidateMethod · 0.45

Tested by 2

SetupSuiteMethod · 0.74