feat: time and memory parse
This commit is contained in:
		
							parent
							
								
									30fae62b67
								
							
						
					
					
						commit
						deb90a02ca
					
				|  | @ -132,7 +132,7 @@ class Parser(BaseModel): | ||||||
|     def validate_with(cls, v: Any) -> Dict[str, Any]: |     def validate_with(cls, v: Any) -> Dict[str, Any]: | ||||||
|         if isinstance(v, BaseModel): |         if isinstance(v, BaseModel): | ||||||
|             return v.model_dump(by_alias=True) |             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): | class StageDetail(BaseModel): | ||||||
|  | @ -168,7 +168,7 @@ class Config(BaseModel): | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class DummyConfig(BaseModel): | class DummyConfig(BaseModel): | ||||||
|     score: Optional[int] = None |     score: int = 0 | ||||||
|     comment: Optional[str] = None |     comment: Optional[str] = None | ||||||
|     force_quit_on_not_accepted: Optional[bool] = Field( |     force_quit_on_not_accepted: Optional[bool] = Field( | ||||||
|         False, serialization_alias="forceQuitOnNotAccepted" |         False, serialization_alias="forceQuitOnNotAccepted" | ||||||
|  | @ -176,7 +176,7 @@ class DummyConfig(BaseModel): | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class DiffOutputConfig(BaseModel): | class DiffOutputConfig(BaseModel): | ||||||
|     score: Optional[int] = None |     score: int = 100 | ||||||
|     file_name: str = Field("", serialization_alias="fileName") |     file_name: str = Field("", serialization_alias="fileName") | ||||||
|     answer_path: str = Field("", serialization_alias="answerPath") |     answer_path: str = Field("", serialization_alias="answerPath") | ||||||
|     force_quit_on_diff: Optional[bool] = Field( |     force_quit_on_diff: Optional[bool] = Field( | ||||||
|  |  | ||||||
|  | @ -4,6 +4,7 @@ from pathlib import Path | ||||||
| from typing import Any, Callable, Dict, List, Tuple | from typing import Any, Callable, Dict, List, Tuple | ||||||
| 
 | 
 | ||||||
| from joj3_config_generator.models import result, task | 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 | from joj3_config_generator.models.const import JOJ3_CONFIG_ROOT | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -78,11 +79,15 @@ def get_executor_with( | ||||||
|             copy_out=copy_out_files, |             copy_out=copy_out_files, | ||||||
|             copy_in_cached={file: file for file in cached}, |             copy_in_cached={file: file for file in cached}, | ||||||
|             copy_out_cached=file_export, |             copy_out_cached=file_export, | ||||||
|             cpu_limit=task_stage.limit.cpu, |             cpu_limit=Time(task_stage.limit.cpu), | ||||||
|             clock_limit=2 * task_stage.limit.cpu, |             clock_limit=2 * Time(task_stage.limit.cpu), | ||||||
|             memory_limit=task_stage.limit.mem, |             memory_limit=Memory(task_stage.limit.mem), | ||||||
|             stderr=result.Collector(name="stderr"), |             stderr=result.Collector( | ||||||
|             stdout=result.Collector(name="stdout"), |                 name="stderr", pipe=True, max=Memory(task_stage.limit.stderr) | ||||||
|  |             ), | ||||||
|  |             stdout=result.Collector( | ||||||
|  |                 name="stdout", pipe=True, max=Memory(task_stage.limit.stdout) | ||||||
|  |             ), | ||||||
|         ), |         ), | ||||||
|         cases=[], |         cases=[], | ||||||
|     ) |     ) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user