feat: time and memory parse
Some checks failed
build / build (push) Has been cancelled
build / build (pull_request) Failing after 2m24s

This commit is contained in:
李衍志523370910113 2025-03-05 11:13:21 +08:00
parent 30fae62b67
commit deb90a02ca
2 changed files with 13 additions and 8 deletions

View File

@ -132,7 +132,7 @@ class Parser(BaseModel):
def validate_with(cls, v: Any) -> Dict[str, Any]:
if isinstance(v, BaseModel):
return v.model_dump(by_alias=True)
raise ValueError(f"Must be a BaseModel instance")
raise ValueError("Must be a BaseModel instance")
class StageDetail(BaseModel):
@ -168,7 +168,7 @@ class Config(BaseModel):
class DummyConfig(BaseModel):
score: Optional[int] = None
score: int = 0
comment: Optional[str] = None
force_quit_on_not_accepted: Optional[bool] = Field(
False, serialization_alias="forceQuitOnNotAccepted"
@ -176,7 +176,7 @@ class DummyConfig(BaseModel):
class DiffOutputConfig(BaseModel):
score: Optional[int] = None
score: int = 100
file_name: str = Field("", serialization_alias="fileName")
answer_path: str = Field("", serialization_alias="answerPath")
force_quit_on_diff: Optional[bool] = Field(

View File

@ -4,6 +4,7 @@ from pathlib import Path
from typing import Any, Callable, Dict, List, Tuple
from joj3_config_generator.models import result, task
from joj3_config_generator.models.common import Memory, Time
from joj3_config_generator.models.const import JOJ3_CONFIG_ROOT
@ -78,11 +79,15 @@ def get_executor_with(
copy_out=copy_out_files,
copy_in_cached={file: file for file in cached},
copy_out_cached=file_export,
cpu_limit=task_stage.limit.cpu,
clock_limit=2 * task_stage.limit.cpu,
memory_limit=task_stage.limit.mem,
stderr=result.Collector(name="stderr"),
stdout=result.Collector(name="stdout"),
cpu_limit=Time(task_stage.limit.cpu),
clock_limit=2 * Time(task_stage.limit.cpu),
memory_limit=Memory(task_stage.limit.mem),
stderr=result.Collector(
name="stderr", pipe=True, max=Memory(task_stage.limit.stderr)
),
stdout=result.Collector(
name="stdout", pipe=True, max=Memory(task_stage.limit.stdout)
),
),
cases=[],
)