feat: add DEFAULT_PROC_LIMIT n DEFAULT_CLOCK_LIMIT_MULTIPLIER
This commit is contained in:
parent
b4a9d0cb62
commit
183e6f1545
|
@ -6,6 +6,8 @@ DEFAULT_CPU_LIMIT = Time("1s")
|
|||
DEFAULT_MEMORY_LIMIT = Memory("256m")
|
||||
DEFAULT_FILE_LIMIT = Memory("32m")
|
||||
DEFAULT_CASE_SCORE = 5
|
||||
DEFAULT_CLOCK_LIMIT_MULTIPLIER = 2
|
||||
DEFAULT_PROC_LIMIT = 50
|
||||
|
||||
JOJ3_CONFIG_ROOT = Path("/home/tt/.config/joj")
|
||||
TEAPOT_CONFIG_ROOT = Path("/home/tt/.config/teapot")
|
||||
|
|
|
@ -3,9 +3,11 @@ from typing import TYPE_CHECKING, Any, Dict, List, Optional, Union
|
|||
from pydantic import BaseModel, ConfigDict, Field, field_validator
|
||||
|
||||
from joj3_config_generator.models.const import (
|
||||
DEFAULT_CLOCK_LIMIT_MULTIPLIER,
|
||||
DEFAULT_CPU_LIMIT,
|
||||
DEFAULT_FILE_LIMIT,
|
||||
DEFAULT_MEMORY_LIMIT,
|
||||
DEFAULT_PROC_LIMIT,
|
||||
)
|
||||
|
||||
|
||||
|
@ -49,10 +51,13 @@ class Cmd(BaseModel):
|
|||
stdout: Union[Collector, StreamOut] = Collector(name="stdout")
|
||||
stderr: Union[Collector, StreamOut] = Collector(name="stderr")
|
||||
cpu_limit: int = Field(DEFAULT_CPU_LIMIT, serialization_alias="cpuLimit")
|
||||
clock_limit: int = Field(2 * DEFAULT_CPU_LIMIT, serialization_alias="clockLimit")
|
||||
clock_limit: int = Field(
|
||||
DEFAULT_CLOCK_LIMIT_MULTIPLIER * DEFAULT_CPU_LIMIT,
|
||||
serialization_alias="clockLimit",
|
||||
)
|
||||
memory_limit: int = Field(DEFAULT_MEMORY_LIMIT, serialization_alias="memoryLimit")
|
||||
stack_limit: int = Field(0, serialization_alias="stackLimit")
|
||||
proc_limit: int = Field(50, serialization_alias="procLimit")
|
||||
proc_limit: int = Field(DEFAULT_PROC_LIMIT, serialization_alias="procLimit")
|
||||
cpu_rate_limit: int = Field(0, serialization_alias="cpuRateLimit")
|
||||
cpu_set_limit: str = Field("", serialization_alias="cpuSetLimit")
|
||||
copy_in: Dict[str, InputFile] = Field({}, serialization_alias="copyIn")
|
||||
|
|
|
@ -203,11 +203,14 @@ def fix_diff(
|
|||
# duplicate with the fallback case in executor.with_
|
||||
if cmd.cpu_limit == const.DEFAULT_CPU_LIMIT:
|
||||
cmd.cpu_limit = None
|
||||
if cmd.clock_limit == 2 * const.DEFAULT_CPU_LIMIT:
|
||||
if (
|
||||
cmd.clock_limit
|
||||
== const.DEFAULT_CLOCK_LIMIT_MULTIPLIER * const.DEFAULT_CPU_LIMIT
|
||||
):
|
||||
cmd.clock_limit = None
|
||||
if cmd.memory_limit == const.DEFAULT_MEMORY_LIMIT:
|
||||
cmd.memory_limit = None
|
||||
if cmd.proc_limit == executor.with_.default.proc_limit:
|
||||
if cmd.proc_limit == const.DEFAULT_PROC_LIMIT:
|
||||
cmd.proc_limit = None
|
||||
stage_cases.append(cmd)
|
||||
parser_case = result.DiffCasesConfig(
|
||||
|
@ -229,6 +232,7 @@ def fix_diff(
|
|||
cpu_limit=None,
|
||||
clock_limit=None,
|
||||
memory_limit=None,
|
||||
proc_limit=None,
|
||||
)
|
||||
stage_cases.append(cmd)
|
||||
parser_case = result.DiffCasesConfig(
|
||||
|
|
Loading…
Reference in New Issue
Block a user