Skip to content

Commit

Permalink
Add support to config extraMemoryLimit
Browse files Browse the repository at this point in the history
  • Loading branch information
criyle committed Dec 5, 2020
1 parent 0914be5 commit 5c61c1f
Show file tree
Hide file tree
Showing 7 changed files with 135 additions and 34 deletions.
2 changes: 1 addition & 1 deletion cmd/executorserver/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ type Config struct {

// runner limit
TimeLimitCheckerInterval time.Duration `flagUsage:"specifies time limit checker interval" default:"100ms"`
ExtraMemoryLimit envexec.Size `flagUsage:"specifies extra memory buffer for check memory limit (default: 16k)"`
ExtraMemoryLimit *envexec.Size `flagUsage:"specifies extra memory buffer for check memory limit" default:"16k"`

// server config
HTTPAddr string `flagUsage:"specifies the http binding address" default:":5050"`
Expand Down
9 changes: 9 additions & 0 deletions cmd/executorserver/grpc_file.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package main

import (
"fmt"
"os"

"github.com/criyle/go-judge/filestore"
Expand Down Expand Up @@ -31,6 +32,10 @@ func (f *fileStreamIn) EnvFile(fs filestore.FileStore) (interface{}, error) {
return f.r, nil
}

func (f *fileStreamIn) String() string {
return fmt.Sprintf("fileStreamIn:%s", f.name)
}

func (f *fileStreamIn) Close() error {
f.r.Close()
return f.w.Close()
Expand Down Expand Up @@ -61,6 +66,10 @@ func (f *fileStreamOut) EnvFile(fs filestore.FileStore) (interface{}, error) {
return f.w, nil
}

func (f *fileStreamOut) String() string {
return fmt.Sprintf("fileStreamOut:%s", f.name)
}

func (f *fileStreamOut) Close() error {
f.w.Close()
return f.r.Close()
Expand Down
1 change: 1 addition & 0 deletions cmd/executorserver/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ func main() {
Parallelism: conf.Parallelism,
WorkDir: conf.Dir,
TimeLimitTickInterval: conf.TimeLimitCheckerInterval,
ExtraMemoryLimit: *conf.ExtraMemoryLimit,
})
work.Start()
logger.Sugar().Infof("Starting worker with parallelism=%d, workdir=%s, timeLimitCheckInterval=%v",
Expand Down
25 changes: 17 additions & 8 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,38 @@ module github.com/criyle/go-judge
go 1.14

require (
cloud.google.com/go v0.72.0 // indirect
cloud.google.com/go v0.73.0 // indirect
github.com/creack/pty v1.1.11
github.com/criyle/go-sandbox v0.5.1
github.com/criyle/go-sandbox v0.5.2
github.com/fatih/camelcase v1.0.0 // indirect
github.com/fatih/structs v1.1.0 // indirect
github.com/gin-contrib/pprof v1.3.0
github.com/gin-contrib/zap v0.0.1
github.com/gin-gonic/gin v1.6.3
github.com/go-playground/validator/v10 v10.4.1 // indirect
github.com/gogo/protobuf v1.3.1 // indirect
github.com/golang/protobuf v1.4.3
github.com/gorilla/websocket v1.4.2
github.com/grpc-ecosystem/go-grpc-middleware v1.2.2
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0
github.com/koding/multiconfig v0.0.0-20171124222453-69c27309b2d7
github.com/prometheus/client_golang v1.8.0
github.com/prometheus/common v0.15.0 // indirect
github.com/sirupsen/logrus v1.7.0 // indirect
github.com/ugorji/go v1.2.1 // indirect
github.com/zsais/go-gin-prometheus v0.1.0
go.uber.org/multierr v1.6.0 // indirect
go.uber.org/zap v1.16.0
golang.org/x/crypto v0.0.0-20201124201722-c8d3bf9c5392
golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c
golang.org/x/oauth2 v0.0.0-20201203001011-0b49973bad19 // indirect
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9
golang.org/x/sys v0.0.0-20201126233918-771906719818
golang.org/x/tools v0.0.0-20201125231158-b5590deeca9b // indirect
google.golang.org/genproto v0.0.0-20201119123407-9b1e624d6bc4 // indirect
google.golang.org/grpc v1.33.2
google.golang.org/grpc/examples v0.0.0-20201125005357-44e408dab41e // indirect
golang.org/x/sys v0.0.0-20201204225414-ed752295db88
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 // indirect
golang.org/x/tools v0.0.0-20201204222352-654352759326 // indirect
google.golang.org/genproto v0.0.0-20201204160425-06b3db808446 // indirect
google.golang.org/grpc v1.34.0
google.golang.org/grpc/examples v0.0.0-20201204235607-0d6a24f68a5f // indirect
google.golang.org/protobuf v1.25.0
gopkg.in/yaml.v2 v2.4.0
honnef.co/go/tools v0.0.1-2020.1.6 // indirect
)
Loading

0 comments on commit 5c61c1f

Please sign in to comment.