diff --git a/backend.go b/backend.go index 5d61147..ca7ba1e 100644 --- a/backend.go +++ b/backend.go @@ -23,6 +23,7 @@ import ( "os" "os/exec" + "humungus.tedunangst.com/r/webs/gate" "humungus.tedunangst.com/r/webs/image" ) @@ -38,7 +39,11 @@ type ShrinkerResult struct { Image *image.Image } +var shrinkgate = gate.NewLimiter(4) + func (s *Shrinker) Shrink(args *ShrinkerArgs, res *ShrinkerResult) error { + shrinkgate.Start() + defer shrinkgate.Finish() img, err := image.Vacuum(bytes.NewReader(args.Buf), args.Params) if err != nil { return err