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