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_MEMORY_LIMIT = Memory("256m")
|
||||||
DEFAULT_FILE_LIMIT = Memory("32m")
|
DEFAULT_FILE_LIMIT = Memory("32m")
|
||||||
DEFAULT_CASE_SCORE = 5
|
DEFAULT_CASE_SCORE = 5
|
||||||
|
DEFAULT_CLOCK_LIMIT_MULTIPLIER = 2
|
||||||
|
DEFAULT_PROC_LIMIT = 50
|
||||||
|
|
||||||
JOJ3_CONFIG_ROOT = Path("/home/tt/.config/joj")
|
JOJ3_CONFIG_ROOT = Path("/home/tt/.config/joj")
|
||||||
TEAPOT_CONFIG_ROOT = Path("/home/tt/.config/teapot")
|
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 pydantic import BaseModel, ConfigDict, Field, field_validator
|
||||||
|
|
||||||
from joj3_config_generator.models.const import (
|
from joj3_config_generator.models.const import (
|
||||||
|
DEFAULT_CLOCK_LIMIT_MULTIPLIER,
|
||||||
DEFAULT_CPU_LIMIT,
|
DEFAULT_CPU_LIMIT,
|
||||||
DEFAULT_FILE_LIMIT,
|
DEFAULT_FILE_LIMIT,
|
||||||
DEFAULT_MEMORY_LIMIT,
|
DEFAULT_MEMORY_LIMIT,
|
||||||
|
DEFAULT_PROC_LIMIT,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -49,10 +51,13 @@ class Cmd(BaseModel):
|
||||||
stdout: Union[Collector, StreamOut] = Collector(name="stdout")
|
stdout: Union[Collector, StreamOut] = Collector(name="stdout")
|
||||||
stderr: Union[Collector, StreamOut] = Collector(name="stderr")
|
stderr: Union[Collector, StreamOut] = Collector(name="stderr")
|
||||||
cpu_limit: int = Field(DEFAULT_CPU_LIMIT, serialization_alias="cpuLimit")
|
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")
|
memory_limit: int = Field(DEFAULT_MEMORY_LIMIT, serialization_alias="memoryLimit")
|
||||||
stack_limit: int = Field(0, serialization_alias="stackLimit")
|
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_rate_limit: int = Field(0, serialization_alias="cpuRateLimit")
|
||||||
cpu_set_limit: str = Field("", serialization_alias="cpuSetLimit")
|
cpu_set_limit: str = Field("", serialization_alias="cpuSetLimit")
|
||||||
copy_in: Dict[str, InputFile] = Field({}, serialization_alias="copyIn")
|
copy_in: Dict[str, InputFile] = Field({}, serialization_alias="copyIn")
|
||||||
|
|
|
@ -203,11 +203,14 @@ def fix_diff(
|
||||||
# duplicate with the fallback case in executor.with_
|
# duplicate with the fallback case in executor.with_
|
||||||
if cmd.cpu_limit == const.DEFAULT_CPU_LIMIT:
|
if cmd.cpu_limit == const.DEFAULT_CPU_LIMIT:
|
||||||
cmd.cpu_limit = None
|
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
|
cmd.clock_limit = None
|
||||||
if cmd.memory_limit == const.DEFAULT_MEMORY_LIMIT:
|
if cmd.memory_limit == const.DEFAULT_MEMORY_LIMIT:
|
||||||
cmd.memory_limit = None
|
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
|
cmd.proc_limit = None
|
||||||
stage_cases.append(cmd)
|
stage_cases.append(cmd)
|
||||||
parser_case = result.DiffCasesConfig(
|
parser_case = result.DiffCasesConfig(
|
||||||
|
@ -229,6 +232,7 @@ def fix_diff(
|
||||||
cpu_limit=None,
|
cpu_limit=None,
|
||||||
clock_limit=None,
|
clock_limit=None,
|
||||||
memory_limit=None,
|
memory_limit=None,
|
||||||
|
proc_limit=None,
|
||||||
)
|
)
|
||||||
stage_cases.append(cmd)
|
stage_cases.append(cmd)
|
||||||
parser_case = result.DiffCasesConfig(
|
parser_case = result.DiffCasesConfig(
|
||||||
|
|
Loading…
Reference in New Issue
Block a user