Compare commits
2 Commits
5a5f4e75be
...
6825921f4f
Author | SHA1 | Date | |
---|---|---|---|
6825921f4f | |||
54e83ec63e |
@ -15,9 +15,10 @@ var (
|
|||||||
}{
|
}{
|
||||||
"c": {""},
|
"c": {""},
|
||||||
"cpp": {""},
|
"cpp": {""},
|
||||||
"rust": {""},
|
"go": {""},
|
||||||
"python3": {"/usr/bin/python3"},
|
"python3": {"/usr/bin/python3"},
|
||||||
"pypy3": {"/usr/bin/pypy3"},
|
"pypy3": {"/usr/bin/pypy3"},
|
||||||
|
"rust": {""},
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -25,6 +26,7 @@ type ConfigRuntime struct {
|
|||||||
TimeLimit int `json:"TimeLimit"` // in ms
|
TimeLimit int `json:"TimeLimit"` // in ms
|
||||||
MemoryLimit int `json:"MemoryLimit"` // in mb
|
MemoryLimit int `json:"MemoryLimit"` // in mb
|
||||||
NProcLimit int `json:"NProcLimit"`
|
NProcLimit int `json:"NProcLimit"`
|
||||||
|
WriteFileLimit int `json:"WriteFileLimit"` // in mb
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -32,16 +34,19 @@ var (
|
|||||||
TimeLimit: 300000,
|
TimeLimit: 300000,
|
||||||
MemoryLimit: 256,
|
MemoryLimit: 256,
|
||||||
NProcLimit: 64,
|
NProcLimit: 64,
|
||||||
|
WriteFileLimit: 1,
|
||||||
}
|
}
|
||||||
DefaultCompileRuntime = ConfigRuntime{
|
DefaultCompileRuntime = ConfigRuntime{
|
||||||
TimeLimit: 60000,
|
TimeLimit: 60000,
|
||||||
MemoryLimit: 256,
|
MemoryLimit: 256,
|
||||||
NProcLimit: 64,
|
NProcLimit: 64,
|
||||||
|
WriteFileLimit: 64,
|
||||||
}
|
}
|
||||||
DefaultCheckRuntime = ConfigRuntime{
|
DefaultCheckRuntime = ConfigRuntime{
|
||||||
TimeLimit: 60000,
|
TimeLimit: 60000,
|
||||||
MemoryLimit: 128,
|
MemoryLimit: 128,
|
||||||
NProcLimit: 64,
|
NProcLimit: 64,
|
||||||
|
WriteFileLimit: 16,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -55,6 +60,9 @@ func (c *ConfigRuntime) Validate() error {
|
|||||||
if c.NProcLimit <= 0 {
|
if c.NProcLimit <= 0 {
|
||||||
return errors.New("nproc limit <= 0")
|
return errors.New("nproc limit <= 0")
|
||||||
}
|
}
|
||||||
|
if c.WriteFileLimit <= 0 {
|
||||||
|
return errors.New("write file limit <= 0")
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,6 +25,7 @@ func (s *service) SandboxArgsBuilder(meta *JudgeMeta, id int) string {
|
|||||||
args = append(args, fmt.Sprintf("--memory_limit=%d", meta.Cfg.Lang.Runtime.Run.MemoryLimit))
|
args = append(args, fmt.Sprintf("--memory_limit=%d", meta.Cfg.Lang.Runtime.Run.MemoryLimit))
|
||||||
args = append(args, fmt.Sprintf("--nproc_limit=%d", meta.Cfg.Lang.Runtime.Run.NProcLimit))
|
args = append(args, fmt.Sprintf("--nproc_limit=%d", meta.Cfg.Lang.Runtime.Run.NProcLimit))
|
||||||
args = append(args, fmt.Sprintf("--time_limit=%d", meta.Cfg.Lang.Runtime.Run.TimeLimit))
|
args = append(args, fmt.Sprintf("--time_limit=%d", meta.Cfg.Lang.Runtime.Run.TimeLimit))
|
||||||
|
args = append(args, fmt.Sprintf("--fsize_limit=%d", meta.Cfg.Lang.Runtime.Run.WriteFileLimit))
|
||||||
args = append(args, fmt.Sprintf("--sandbox_template=%s", meta.Cfg.Lang.Lang))
|
args = append(args, fmt.Sprintf("--sandbox_template=%s", meta.Cfg.Lang.Lang))
|
||||||
args = append(args, fmt.Sprintf("--sandbox_action=%s", "ret"))
|
args = append(args, fmt.Sprintf("--sandbox_action=%s", "ret"))
|
||||||
args = append(args, fmt.Sprintf("--uid=%d", 1000))
|
args = append(args, fmt.Sprintf("--uid=%d", 1000))
|
||||||
|
Loading…
Reference in New Issue
Block a user