feat: time & mem consts and defaults
This commit is contained in:
		
							parent
							
								
									46cafc0ed6
								
							
						
					
					
						commit
						8164e75058
					
				
							
								
								
									
										19
									
								
								joj3_config_generator/models/common.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								joj3_config_generator/models/common.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,19 @@ | ||||||
|  | from typing import Union | ||||||
|  | 
 | ||||||
|  | import humanfriendly | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class Memory(int): | ||||||
|  |     def __new__(cls, value: Union[str, int]) -> "Memory": | ||||||
|  |         if isinstance(value, str): | ||||||
|  |             parsed = humanfriendly.parse_size(value, binary=True) | ||||||
|  |             return super().__new__(cls, parsed) | ||||||
|  |         return super().__new__(cls, value) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class Time(int): | ||||||
|  |     def __new__(cls, value: Union[str, int]) -> "Time": | ||||||
|  |         if isinstance(value, str): | ||||||
|  |             parsed = humanfriendly.parse_timespan(value) * 1_000_000_000  # ns | ||||||
|  |             return super().__new__(cls, round(parsed)) | ||||||
|  |         return super().__new__(cls, value) | ||||||
							
								
								
									
										5
									
								
								joj3_config_generator/models/const.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								joj3_config_generator/models/const.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,5 @@ | ||||||
|  | from joj3_config_generator.models.common import Memory, Time | ||||||
|  | 
 | ||||||
|  | DEFAULT_CPU_LIMIT = Time("1s") | ||||||
|  | DEFAULT_MEMORY_LIMIT = Memory("128m") | ||||||
|  | DEFAULT_FILE_LIMIT = Memory("32m") | ||||||
|  | @ -1,8 +1,13 @@ | ||||||
| from typing import Any, Dict, List, Optional, Union | from typing import Any, Dict, List, Optional, Union | ||||||
| 
 | 
 | ||||||
| import humanfriendly |  | ||||||
| from pydantic import BaseModel, Field | from pydantic import BaseModel, Field | ||||||
| 
 | 
 | ||||||
|  | from joj3_config_generator.models.const import ( | ||||||
|  |     DEFAULT_CPU_LIMIT, | ||||||
|  |     DEFAULT_FILE_LIMIT, | ||||||
|  |     DEFAULT_MEMORY_LIMIT, | ||||||
|  | ) | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| class LocalFile(BaseModel): | class LocalFile(BaseModel): | ||||||
|     src: str |     src: str | ||||||
|  | @ -18,7 +23,7 @@ class PreparedFile(BaseModel): | ||||||
| 
 | 
 | ||||||
| class Collector(BaseModel): | class Collector(BaseModel): | ||||||
|     name: str |     name: str | ||||||
|     max: int |     max: int = DEFAULT_FILE_LIMIT | ||||||
|     pipe: bool = True |     pipe: bool = True | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -38,17 +43,14 @@ InputFile = Union[LocalFile | MemoryFile | PreparedFile | Symlink] | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class Cmd(BaseModel): | class Cmd(BaseModel): | ||||||
|     args: Optional[List[str]] = None |     args: List[str] = [] | ||||||
|     env: List[str] = [] |     env: List[str] = [] | ||||||
|     stdin: Optional[Union[InputFile | StreamIn]] = None |     stdin: Union[InputFile | StreamIn] = MemoryFile(content="") | ||||||
|     stdout: Optional[Union[Collector | StreamOut]] = None |     stdout: Union[Collector | StreamOut] = Collector(name="stdout") | ||||||
|     stderr: Optional[Union[Collector | StreamOut]] = None |     stderr: Union[Collector | StreamOut] = Collector(name="stderr") | ||||||
|     cpu_limit: int = Field(1_000_000_000, serialization_alias="cpuLimit") |     cpu_limit: int = Field(DEFAULT_CPU_LIMIT, serialization_alias="cpuLimit") | ||||||
|     real_cpu_limit: int = Field(1_000_000_000, serialization_alias="realCpuLimit") |     clock_limit: int = Field(2 * DEFAULT_CPU_LIMIT, serialization_alias="clockLimit") | ||||||
|     clock_limit: int = Field(2 * 1_000_000_000, serialization_alias="clockLimit") |     memory_limit: int = Field(DEFAULT_MEMORY_LIMIT, serialization_alias="memoryLimit") | ||||||
|     memory_limit: int = Field( |  | ||||||
|         humanfriendly.parse_size("128m"), 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(50, serialization_alias="procLimit") | ||||||
|     cpu_rate_limit: int = Field(0, serialization_alias="cpuRateLimit") |     cpu_rate_limit: int = Field(0, serialization_alias="cpuRateLimit") | ||||||
|  | @ -74,15 +76,10 @@ class OptionalCmd(BaseModel): | ||||||
|     stdout: Optional[Union[Collector | StreamOut]] = None |     stdout: Optional[Union[Collector | StreamOut]] = None | ||||||
|     stderr: Optional[Union[Collector | StreamOut]] = None |     stderr: Optional[Union[Collector | StreamOut]] = None | ||||||
|     cpu_limit: Optional[int] = Field(None, serialization_alias="cpuLimit") |     cpu_limit: Optional[int] = Field(None, serialization_alias="cpuLimit") | ||||||
|     real_cpu_limit: Optional[int] = Field(None, serialization_alias="realCpuLimit") |     clock_limit: Optional[int] = Field(None, serialization_alias="clockLimit") | ||||||
|     clock_limit: Optional[int] = Field( |     memory_limit: Optional[int] = Field(None, serialization_alias="memoryLimit") | ||||||
|         2 * 1_000_000_000, serialization_alias="clockLimit" |  | ||||||
|     ) |  | ||||||
|     memory_limit: Optional[int] = Field( |  | ||||||
|         humanfriendly.parse_size("128m"), serialization_alias="memoryLimit" |  | ||||||
|     ) |  | ||||||
|     stack_limit: Optional[int] = Field(None, serialization_alias="stackLimit") |     stack_limit: Optional[int] = Field(None, serialization_alias="stackLimit") | ||||||
|     proc_limit: Optional[int] = Field(50, serialization_alias="procLimit") |     proc_limit: Optional[int] = Field(None, serialization_alias="procLimit") | ||||||
|     cpu_rate_limit: Optional[int] = Field(None, serialization_alias="cpuRateLimit") |     cpu_rate_limit: Optional[int] = Field(None, serialization_alias="cpuRateLimit") | ||||||
|     cpu_set_limit: Optional[str] = Field(None, serialization_alias="cpuSetLimit") |     cpu_set_limit: Optional[str] = Field(None, serialization_alias="cpuSetLimit") | ||||||
|     copy_in: Optional[Dict[str, InputFile]] = Field(None, serialization_alias="copyIn") |     copy_in: Optional[Dict[str, InputFile]] = Field(None, serialization_alias="copyIn") | ||||||
|  | @ -90,9 +87,7 @@ class OptionalCmd(BaseModel): | ||||||
|         None, serialization_alias="copyInCached" |         None, serialization_alias="copyInCached" | ||||||
|     ) |     ) | ||||||
|     copy_in_dir: Optional[str] = Field(None, serialization_alias="copyInDir") |     copy_in_dir: Optional[str] = Field(None, serialization_alias="copyInDir") | ||||||
|     copy_out: Optional[List[str]] = Field( |     copy_out: Optional[List[str]] = Field(None, serialization_alias="copyOut") | ||||||
|         ["stdout", "stderr"], serialization_alias="copyOut" |  | ||||||
|     ) |  | ||||||
|     copy_out_cached: Optional[List[str]] = Field( |     copy_out_cached: Optional[List[str]] = Field( | ||||||
|         None, serialization_alias="copyOutCached" |         None, serialization_alias="copyOutCached" | ||||||
|     ) |     ) | ||||||
|  |  | ||||||
|  | @ -2,9 +2,14 @@ from datetime import datetime | ||||||
| from pathlib import Path | from pathlib import Path | ||||||
| from typing import Any, Dict, List, Optional, Type | from typing import Any, Dict, List, Optional, Type | ||||||
| 
 | 
 | ||||||
| import humanfriendly |  | ||||||
| from pydantic import BaseModel, Field, model_validator | from pydantic import BaseModel, Field, model_validator | ||||||
| 
 | 
 | ||||||
|  | from joj3_config_generator.models.const import ( | ||||||
|  |     DEFAULT_CPU_LIMIT, | ||||||
|  |     DEFAULT_FILE_LIMIT, | ||||||
|  |     DEFAULT_MEMORY_LIMIT, | ||||||
|  | ) | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| class ParserResultDetail(BaseModel): | class ParserResultDetail(BaseModel): | ||||||
|     time: Optional[bool] = True  # Display run time |     time: Optional[bool] = True  # Display run time | ||||||
|  | @ -31,8 +36,8 @@ class ParserDummy(BaseModel): | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class ParserKeyword(BaseModel): | class ParserKeyword(BaseModel): | ||||||
|     keyword: Optional[list[str]] = [] |     keyword: Optional[List[str]] = [] | ||||||
|     weight: Optional[list[int]] = [] |     weight: Optional[List[int]] = [] | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class Outputs(BaseModel): | class Outputs(BaseModel): | ||||||
|  | @ -47,27 +52,27 @@ class ParserDiff(BaseModel): | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class Files(BaseModel): | class Files(BaseModel): | ||||||
|     import_: Optional[list[str]] = Field([], alias="import") |     import_: Optional[List[str]] = Field([], alias="import") | ||||||
|     export: Optional[list[str]] = [] |     export: Optional[List[str]] = [] | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class Limit(BaseModel): | class Limit(BaseModel): | ||||||
|     mem: int = humanfriendly.parse_size("128M") |     mem: int = DEFAULT_MEMORY_LIMIT | ||||||
|     cpu: int = 1_000_000_000 |     cpu: int = DEFAULT_CPU_LIMIT | ||||||
|     stderr: int = humanfriendly.parse_size("128M") |     stderr: int = DEFAULT_FILE_LIMIT | ||||||
|     stdout: int = humanfriendly.parse_size("128M") |     stdout: int = DEFAULT_FILE_LIMIT | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class Stage(BaseModel): | class Stage(BaseModel): | ||||||
|     name: Optional[str] = None  # Stage name |     name: Optional[str] = None  # Stage name | ||||||
|     env: Optional[list[str]] = None |     env: Optional[List[str]] = None | ||||||
|     command: Optional[str] = None  # Command to run |     command: Optional[str] = None  # Command to run | ||||||
|     files: Optional[Files] = None |     files: Optional[Files] = None | ||||||
|     in_: Optional[str] = Field(None, alias="in") |     in_: Optional[str] = Field(None, alias="in") | ||||||
|     out_: Optional[str] = Field(None, alias="out") |     out_: Optional[str] = Field(None, alias="out") | ||||||
|     score: Optional[int] = 0 |     score: Optional[int] = 0 | ||||||
|     parsers: Optional[list[str]] = []  # list of parsers |     parsers: Optional[List[str]] = []  # list of parsers | ||||||
|     limit: Optional[Limit] = Limit() |     limit: Limit = Limit() | ||||||
|     dummy: Optional[ParserDummy] = ParserDummy() |     dummy: Optional[ParserDummy] = ParserDummy() | ||||||
|     result_status: Optional[ParserDummy] = Field(ParserDummy(), alias="result-status") |     result_status: Optional[ParserDummy] = Field(ParserDummy(), alias="result-status") | ||||||
|     keyword: Optional[ParserKeyword] = ParserKeyword() |     keyword: Optional[ParserKeyword] = ParserKeyword() | ||||||
|  | @ -78,7 +83,7 @@ class Stage(BaseModel): | ||||||
|         ParserResultDetail(), alias="result-detail" |         ParserResultDetail(), alias="result-detail" | ||||||
|     ) |     ) | ||||||
|     file: Optional[ParserFile] = ParserFile() |     file: Optional[ParserFile] = ParserFile() | ||||||
|     skip: Optional[list[str]] = [] |     skip: Optional[List[str]] = [] | ||||||
| 
 | 
 | ||||||
|     # cases related |     # cases related | ||||||
|     cases: Optional[Dict[str, "Stage"]] = None |     cases: Optional[Dict[str, "Stage"]] = None | ||||||
|  |  | ||||||
|  | @ -1,12 +1,9 @@ | ||||||
| import humanfriendly |  | ||||||
| from pytimeparse.timeparse import timeparse |  | ||||||
| 
 |  | ||||||
| from joj3_config_generator.models import joj1, task | from joj3_config_generator.models import joj1, task | ||||||
|  | from joj3_config_generator.models.common import Memory, Time | ||||||
|  | from joj3_config_generator.models.const import DEFAULT_CPU_LIMIT, DEFAULT_MEMORY_LIMIT | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def get_joj1_run_stage(joj1_config: joj1.Config) -> task.Stage: | def get_joj1_run_stage(joj1_config: joj1.Config) -> task.Stage: | ||||||
|     default_cpu = timeparse("1s") |  | ||||||
|     default_mem = humanfriendly.parse_size("32m") |  | ||||||
|     cases_conf = [] |     cases_conf = [] | ||||||
|     for i, case in enumerate(joj1_config.cases): |     for i, case in enumerate(joj1_config.cases): | ||||||
|         cases_conf.append( |         cases_conf.append( | ||||||
|  | @ -14,12 +11,8 @@ def get_joj1_run_stage(joj1_config: joj1.Config) -> task.Stage: | ||||||
|                 score=case.score, |                 score=case.score, | ||||||
|                 command=case.execute_args if case.execute_args else None, |                 command=case.execute_args if case.execute_args else None, | ||||||
|                 limit=task.Limit( |                 limit=task.Limit( | ||||||
|                     cpu=timeparse(case.time) if case.time else default_cpu, |                     cpu=Time(case.time) if case.time else DEFAULT_CPU_LIMIT, | ||||||
|                     mem=( |                     mem=(Memory(case.memory) if case.memory else DEFAULT_MEMORY_LIMIT), | ||||||
|                         humanfriendly.parse_size(case.memory) |  | ||||||
|                         if case.memory |  | ||||||
|                         else default_mem |  | ||||||
|                     ), |  | ||||||
|                 ), |                 ), | ||||||
|             ) |             ) | ||||||
|         ) |         ) | ||||||
|  | @ -32,14 +25,14 @@ def get_joj1_run_stage(joj1_config: joj1.Config) -> task.Stage: | ||||||
|         score=100, |         score=100, | ||||||
|         limit=task.Limit( |         limit=task.Limit( | ||||||
|             cpu=( |             cpu=( | ||||||
|                 timeparse(joj1_config.cases[0].time) |                 Time(joj1_config.cases[0].time) | ||||||
|                 if joj1_config.cases[0].time is not None |                 if joj1_config.cases[0].time is not None | ||||||
|                 else default_cpu |                 else DEFAULT_CPU_LIMIT | ||||||
|             ), |             ), | ||||||
|             mem=( |             mem=( | ||||||
|                 humanfriendly.parse_size(joj1_config.cases[0].memory) |                 Memory(joj1_config.cases[0].memory) | ||||||
|                 if joj1_config.cases[0].memory is not None |                 if joj1_config.cases[0].memory is not None | ||||||
|                 else default_mem |                 else DEFAULT_MEMORY_LIMIT | ||||||
|             ), |             ), | ||||||
|         ), |         ), | ||||||
|         cases={f"case{i}": cases_conf[i] for i, _ in enumerate(cases_conf)}, |         cases={f"case{i}": cases_conf[i] for i, _ in enumerate(cases_conf)}, | ||||||
|  |  | ||||||
|  | @ -65,52 +65,14 @@ def get_executor_with_config( | ||||||
|                 # are there any corner cases |                 # are there any corner cases | ||||||
|                 for file in copy_in_files |                 for file in copy_in_files | ||||||
|             }, |             }, | ||||||
|             stdin=( |  | ||||||
|                 result.MemoryFile(content="") |  | ||||||
|                 if ( |  | ||||||
|                     (task_stage.parsers is not None) |  | ||||||
|                     and ("diff" not in task_stage.parsers) |  | ||||||
|                 ) |  | ||||||
|                 else None |  | ||||||
|             ), |  | ||||||
|             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 if file_export is not None else [], |             copy_out_cached=file_export or [], | ||||||
|             cpu_limit=( |             cpu_limit=task_stage.limit.cpu, | ||||||
|                 task_stage.limit.cpu * 1_000_000_000 |             clock_limit=2 * task_stage.limit.cpu, | ||||||
|                 if task_stage.limit is not None and task_stage.limit.cpu is not None |             memory_limit=task_stage.limit.mem, | ||||||
|                 else 80 * 1_000_000_000 |             stderr=result.Collector(name="stderr"), | ||||||
|             ), |             stdout=result.Collector(name="stdout"), | ||||||
|             clock_limit=( |  | ||||||
|                 2 * task_stage.limit.cpu * 1_000_000_000 |  | ||||||
|                 if task_stage.limit is not None and task_stage.limit.cpu is not None |  | ||||||
|                 else 80 * 1_000_000_000 |  | ||||||
|             ), |  | ||||||
|             memory_limit=( |  | ||||||
|                 task_stage.limit.mem * 1_024 * 1_024 |  | ||||||
|                 if task_stage.limit is not None and task_stage.limit.mem is not None |  | ||||||
|                 else 128 * 1_024 * 1_024 |  | ||||||
|             ), |  | ||||||
|             stderr=result.Collector( |  | ||||||
|                 name="stderr", |  | ||||||
|                 max=( |  | ||||||
|                     task_stage.limit.stderr * 1_000_000_000 |  | ||||||
|                     if task_stage.limit is not None |  | ||||||
|                     and task_stage.limit.stderr is not None |  | ||||||
|                     else 128 * 1_024 * 1_024 |  | ||||||
|                 ), |  | ||||||
|                 pipe=True, |  | ||||||
|             ), |  | ||||||
|             stdout=result.Collector( |  | ||||||
|                 name="stdout", |  | ||||||
|                 max=( |  | ||||||
|                     task_stage.limit.stdout * 1_000_000_000 |  | ||||||
|                     if task_stage.limit is not None |  | ||||||
|                     and task_stage.limit.stdout is not None |  | ||||||
|                     else 128 * 1_024 * 1_024 |  | ||||||
|                 ), |  | ||||||
|                 pipe=True, |  | ||||||
|             ), |  | ||||||
|         ), |         ), | ||||||
|         cases=[], |         cases=[], | ||||||
|     ) |     ) | ||||||
|  |  | ||||||
|  | @ -13,7 +13,6 @@ dependencies = [ | ||||||
|     "inquirer>=3.4.0", |     "inquirer>=3.4.0", | ||||||
|     "rtoml>=0.11.0", |     "rtoml>=0.11.0", | ||||||
|     "humanfriendly>=10.0", |     "humanfriendly>=10.0", | ||||||
|     "pytimeparse>=1.1.8", |  | ||||||
| ] | ] | ||||||
| requires-python = ">=3.9" | requires-python = ">=3.9" | ||||||
| authors = [{ name = "JOJ3-dev", email = "joj3@focs.ji.sjtu.edu.cn" }] | authors = [{ name = "JOJ3-dev", email = "joj3@focs.ji.sjtu.edu.cn" }] | ||||||
|  |  | ||||||
|  | @ -17,11 +17,24 @@ | ||||||
|                     "name": "local", |                     "name": "local", | ||||||
|                     "with": { |                     "with": { | ||||||
|                         "default": { |                         "default": { | ||||||
|  |                             "args": [], | ||||||
|                             "env": [], |                             "env": [], | ||||||
|  |                             "stdin": { | ||||||
|  |                                 "content": "" | ||||||
|  |                             }, | ||||||
|  |                             "stdout": { | ||||||
|  |                                 "name": "stdout", | ||||||
|  |                                 "max": 33554432, | ||||||
|  |                                 "pipe": true | ||||||
|  |                             }, | ||||||
|  |                             "stderr": { | ||||||
|  |                                 "name": "stderr", | ||||||
|  |                                 "max": 33554432, | ||||||
|  |                                 "pipe": true | ||||||
|  |                             }, | ||||||
|                             "cpuLimit": 1000000000, |                             "cpuLimit": 1000000000, | ||||||
|                             "realCpuLimit": 1000000000, |  | ||||||
|                             "clockLimit": 2000000000, |                             "clockLimit": 2000000000, | ||||||
|                             "memoryLimit": 128000000, |                             "memoryLimit": 134217728, | ||||||
|                             "stackLimit": 0, |                             "stackLimit": 0, | ||||||
|                             "procLimit": 50, |                             "procLimit": 50, | ||||||
|                             "cpuRateLimit": 0, |                             "cpuRateLimit": 0, | ||||||
|  | @ -51,13 +64,6 @@ | ||||||
|                                     "-meta=Changelog.md", |                                     "-meta=Changelog.md", | ||||||
|                                     "-checkFileSumList=a5b63323a692d3d8b952442969649b4f823d58dae26429494f613df160710dfc,b1bbad25b830db0a77b15a033f9ca1b7ab44c1d2d05056412bd3e4421645f0bf,f6740081487ca34963a005209e2e9adfdf6f3561719af082d40fe80145e0cceb,bbeca1491c2f8364821a328a6677c0c5d59ccd60250abac3cec0887eeb9bde3e", |                                     "-checkFileSumList=a5b63323a692d3d8b952442969649b4f823d58dae26429494f613df160710dfc,b1bbad25b830db0a77b15a033f9ca1b7ab44c1d2d05056412bd3e4421645f0bf,f6740081487ca34963a005209e2e9adfdf6f3561719af082d40fe80145e0cceb,bbeca1491c2f8364821a328a6677c0c5d59ccd60250abac3cec0887eeb9bde3e", | ||||||
|                                     "-checkFileNameList=.gitignore,.gitattributes,.gitea/workflows/push.yaml,.gitea/workflows/release.yaml" |                                     "-checkFileNameList=.gitignore,.gitattributes,.gitea/workflows/push.yaml,.gitea/workflows/release.yaml" | ||||||
|                                 ], |  | ||||||
|                                 "clockLimit": 2000000000, |  | ||||||
|                                 "memoryLimit": 128000000, |  | ||||||
|                                 "procLimit": 50, |  | ||||||
|                                 "copyOut": [ |  | ||||||
|                                     "stdout", |  | ||||||
|                                     "stderr" |  | ||||||
|                                 ] |                                 ] | ||||||
|                             }, |                             }, | ||||||
|                             { |                             { | ||||||
|  | @ -72,13 +78,6 @@ | ||||||
|                                 ], |                                 ], | ||||||
|                                 "env": [ |                                 "env": [ | ||||||
|                                     "LOG_FILE_PATH=/home/tt/.cache/joint-teapot-debug.log" |                                     "LOG_FILE_PATH=/home/tt/.cache/joint-teapot-debug.log" | ||||||
|                                 ], |  | ||||||
|                                 "clockLimit": 2000000000, |  | ||||||
|                                 "memoryLimit": 128000000, |  | ||||||
|                                 "procLimit": 50, |  | ||||||
|                                 "copyOut": [ |  | ||||||
|                                     "stdout", |  | ||||||
|                                     "stderr" |  | ||||||
|                                 ] |                                 ] | ||||||
|                             } |                             } | ||||||
|                         ] |                         ] | ||||||
|  | @ -115,18 +114,17 @@ | ||||||
|                             }, |                             }, | ||||||
|                             "stdout": { |                             "stdout": { | ||||||
|                                 "name": "stdout", |                                 "name": "stdout", | ||||||
|                                 "max": 128000000000000000, |                                 "max": 33554432, | ||||||
|                                 "pipe": true |                                 "pipe": true | ||||||
|                             }, |                             }, | ||||||
|                             "stderr": { |                             "stderr": { | ||||||
|                                 "name": "stderr", |                                 "name": "stderr", | ||||||
|                                 "max": 128000000000000000, |                                 "max": 33554432, | ||||||
|                                 "pipe": true |                                 "pipe": true | ||||||
|                             }, |                             }, | ||||||
|                             "cpuLimit": 1000000000000000000, |                             "cpuLimit": 1000000000, | ||||||
|                             "realCpuLimit": 1000000000, |                             "clockLimit": 2000000000, | ||||||
|                             "clockLimit": 2000000000000000000, |                             "memoryLimit": 134217728, | ||||||
|                             "memoryLimit": 134217728000000, |  | ||||||
|                             "stackLimit": 0, |                             "stackLimit": 0, | ||||||
|                             "procLimit": 50, |                             "procLimit": 50, | ||||||
|                             "cpuRateLimit": 0, |                             "cpuRateLimit": 0, | ||||||
|  | @ -203,18 +201,17 @@ | ||||||
|                             }, |                             }, | ||||||
|                             "stdout": { |                             "stdout": { | ||||||
|                                 "name": "stdout", |                                 "name": "stdout", | ||||||
|                                 "max": 128000000000000000, |                                 "max": 33554432, | ||||||
|                                 "pipe": true |                                 "pipe": true | ||||||
|                             }, |                             }, | ||||||
|                             "stderr": { |                             "stderr": { | ||||||
|                                 "name": "stderr", |                                 "name": "stderr", | ||||||
|                                 "max": 128000000000000000, |                                 "max": 33554432, | ||||||
|                                 "pipe": true |                                 "pipe": true | ||||||
|                             }, |                             }, | ||||||
|                             "cpuLimit": 1000000000000000000, |                             "cpuLimit": 1000000000, | ||||||
|                             "realCpuLimit": 1000000000, |                             "clockLimit": 2000000000, | ||||||
|                             "clockLimit": 2000000000000000000, |                             "memoryLimit": 134217728, | ||||||
|                             "memoryLimit": 134217728000000, |  | ||||||
|                             "stackLimit": 0, |                             "stackLimit": 0, | ||||||
|                             "procLimit": 50, |                             "procLimit": 50, | ||||||
|                             "cpuRateLimit": 0, |                             "cpuRateLimit": 0, | ||||||
|  | @ -304,18 +301,17 @@ | ||||||
|                             }, |                             }, | ||||||
|                             "stdout": { |                             "stdout": { | ||||||
|                                 "name": "stdout", |                                 "name": "stdout", | ||||||
|                                 "max": 65000000000, |                                 "max": 33554432, | ||||||
|                                 "pipe": true |                                 "pipe": true | ||||||
|                             }, |                             }, | ||||||
|                             "stderr": { |                             "stderr": { | ||||||
|                                 "name": "stderr", |                                 "name": "stderr", | ||||||
|                                 "max": 128000000000000000, |                                 "max": 33554432, | ||||||
|                                 "pipe": true |                                 "pipe": true | ||||||
|                             }, |                             }, | ||||||
|                             "cpuLimit": 1000000000000000000, |                             "cpuLimit": 1000000000, | ||||||
|                             "realCpuLimit": 1000000000, |                             "clockLimit": 2000000000, | ||||||
|                             "clockLimit": 2000000000000000000, |                             "memoryLimit": 134217728, | ||||||
|                             "memoryLimit": 134217728000000, |  | ||||||
|                             "stackLimit": 0, |                             "stackLimit": 0, | ||||||
|                             "procLimit": 50, |                             "procLimit": 50, | ||||||
|                             "cpuRateLimit": 0, |                             "cpuRateLimit": 0, | ||||||
|  | @ -431,18 +427,17 @@ | ||||||
|                             }, |                             }, | ||||||
|                             "stdout": { |                             "stdout": { | ||||||
|                                 "name": "stdout", |                                 "name": "stdout", | ||||||
|                                 "max": 128000000000000000, |                                 "max": 33554432, | ||||||
|                                 "pipe": true |                                 "pipe": true | ||||||
|                             }, |                             }, | ||||||
|                             "stderr": { |                             "stderr": { | ||||||
|                                 "name": "stderr", |                                 "name": "stderr", | ||||||
|                                 "max": 65000000000, |                                 "max": 33554432, | ||||||
|                                 "pipe": true |                                 "pipe": true | ||||||
|                             }, |                             }, | ||||||
|                             "cpuLimit": 1000000000000000000, |                             "cpuLimit": 1000000000, | ||||||
|                             "realCpuLimit": 1000000000, |                             "clockLimit": 2000000000, | ||||||
|                             "clockLimit": 2000000000000000000, |                             "memoryLimit": 134217728, | ||||||
|                             "memoryLimit": 134217728000000, |  | ||||||
|                             "stackLimit": 0, |                             "stackLimit": 0, | ||||||
|                             "procLimit": 50, |                             "procLimit": 50, | ||||||
|                             "cpuRateLimit": 0, |                             "cpuRateLimit": 0, | ||||||
|  | @ -530,18 +525,17 @@ | ||||||
|                             }, |                             }, | ||||||
|                             "stdout": { |                             "stdout": { | ||||||
|                                 "name": "stdout", |                                 "name": "stdout", | ||||||
|                                 "max": 65000000000, |                                 "max": 33554432, | ||||||
|                                 "pipe": true |                                 "pipe": true | ||||||
|                             }, |                             }, | ||||||
|                             "stderr": { |                             "stderr": { | ||||||
|                                 "name": "stderr", |                                 "name": "stderr", | ||||||
|                                 "max": 128000000000000000, |                                 "max": 33554432, | ||||||
|                                 "pipe": true |                                 "pipe": true | ||||||
|                             }, |                             }, | ||||||
|                             "cpuLimit": 1000000000000000000, |                             "cpuLimit": 1000000000, | ||||||
|                             "realCpuLimit": 1000000000, |                             "clockLimit": 2000000000, | ||||||
|                             "clockLimit": 2000000000000000000, |                             "memoryLimit": 134217728, | ||||||
|                             "memoryLimit": 134217728000000, |  | ||||||
|                             "stackLimit": 0, |                             "stackLimit": 0, | ||||||
|                             "procLimit": 50, |                             "procLimit": 50, | ||||||
|                             "cpuRateLimit": 0, |                             "cpuRateLimit": 0, | ||||||
|  | @ -623,20 +617,22 @@ | ||||||
|                                 "-a" |                                 "-a" | ||||||
|                             ], |                             ], | ||||||
|                             "env": [], |                             "env": [], | ||||||
|  |                             "stdin": { | ||||||
|  |                                 "content": "" | ||||||
|  |                             }, | ||||||
|                             "stdout": { |                             "stdout": { | ||||||
|                                 "name": "stdout", |                                 "name": "stdout", | ||||||
|                                 "max": 128000000000000000, |                                 "max": 33554432, | ||||||
|                                 "pipe": true |                                 "pipe": true | ||||||
|                             }, |                             }, | ||||||
|                             "stderr": { |                             "stderr": { | ||||||
|                                 "name": "stderr", |                                 "name": "stderr", | ||||||
|                                 "max": 128000000000000000, |                                 "max": 33554432, | ||||||
|                                 "pipe": true |                                 "pipe": true | ||||||
|                             }, |                             }, | ||||||
|                             "cpuLimit": 1000000000000000000, |                             "cpuLimit": 1000000000, | ||||||
|                             "realCpuLimit": 1000000000, |                             "clockLimit": 2000000000, | ||||||
|                             "clockLimit": 2000000000000000000, |                             "memoryLimit": 91224961, | ||||||
|                             "memoryLimit": 95656304705536, |  | ||||||
|                             "stackLimit": 0, |                             "stackLimit": 0, | ||||||
|                             "procLimit": 50, |                             "procLimit": 50, | ||||||
|                             "cpuRateLimit": 0, |                             "cpuRateLimit": 0, | ||||||
|  | @ -670,11 +666,7 @@ | ||||||
|                                 "cpuLimit": 1000000000, |                                 "cpuLimit": 1000000000, | ||||||
|                                 "clockLimit": 2000000000, |                                 "clockLimit": 2000000000, | ||||||
|                                 "memoryLimit": 95656304705536, |                                 "memoryLimit": 95656304705536, | ||||||
|                                 "procLimit": 50, |                                 "procLimit": 50 | ||||||
|                                 "copyOut": [ |  | ||||||
|                                     "stdout", |  | ||||||
|                                     "stderr" |  | ||||||
|                                 ] |  | ||||||
|                             }, |                             }, | ||||||
|                             { |                             { | ||||||
|                                 "stdin": { |                                 "stdin": { | ||||||
|  | @ -683,11 +675,7 @@ | ||||||
|                                 "cpuLimit": 1000000000, |                                 "cpuLimit": 1000000000, | ||||||
|                                 "clockLimit": 2000000000, |                                 "clockLimit": 2000000000, | ||||||
|                                 "memoryLimit": 95656304705536, |                                 "memoryLimit": 95656304705536, | ||||||
|                                 "procLimit": 50, |                                 "procLimit": 50 | ||||||
|                                 "copyOut": [ |  | ||||||
|                                     "stdout", |  | ||||||
|                                     "stderr" |  | ||||||
|                                 ] |  | ||||||
|                             } |                             } | ||||||
|                         ] |                         ] | ||||||
|                     } |                     } | ||||||
|  | @ -762,10 +750,22 @@ | ||||||
|                             "env": [ |                             "env": [ | ||||||
|                                 "LOG_FILE_PATH=/home/tt/.cache/joint-teapot-debug.log" |                                 "LOG_FILE_PATH=/home/tt/.cache/joint-teapot-debug.log" | ||||||
|                             ], |                             ], | ||||||
|  |                             "stdin": { | ||||||
|  |                                 "content": "" | ||||||
|  |                             }, | ||||||
|  |                             "stdout": { | ||||||
|  |                                 "name": "stdout", | ||||||
|  |                                 "max": 33554432, | ||||||
|  |                                 "pipe": true | ||||||
|  |                             }, | ||||||
|  |                             "stderr": { | ||||||
|  |                                 "name": "stderr", | ||||||
|  |                                 "max": 33554432, | ||||||
|  |                                 "pipe": true | ||||||
|  |                             }, | ||||||
|                             "cpuLimit": 1000000000, |                             "cpuLimit": 1000000000, | ||||||
|                             "realCpuLimit": 1000000000, |  | ||||||
|                             "clockLimit": 2000000000, |                             "clockLimit": 2000000000, | ||||||
|                             "memoryLimit": 128000000, |                             "memoryLimit": 134217728, | ||||||
|                             "stackLimit": 0, |                             "stackLimit": 0, | ||||||
|                             "procLimit": 50, |                             "procLimit": 50, | ||||||
|                             "cpuRateLimit": 0, |                             "cpuRateLimit": 0, | ||||||
|  |  | ||||||
|  | @ -32,18 +32,17 @@ | ||||||
|                             }, |                             }, | ||||||
|                             "stdout": { |                             "stdout": { | ||||||
|                                 "name": "stdout", |                                 "name": "stdout", | ||||||
|                                 "max": 65000000000, |                                 "max": 33554432, | ||||||
|                                 "pipe": true |                                 "pipe": true | ||||||
|                             }, |                             }, | ||||||
|                             "stderr": { |                             "stderr": { | ||||||
|                                 "name": "stderr", |                                 "name": "stderr", | ||||||
|                                 "max": 128000000000000000, |                                 "max": 33554432, | ||||||
|                                 "pipe": true |                                 "pipe": true | ||||||
|                             }, |                             }, | ||||||
|                             "cpuLimit": 1000000000000000000, |                             "cpuLimit": 1000000000, | ||||||
|                             "realCpuLimit": 1000000000, |                             "clockLimit": 2000000000, | ||||||
|                             "clockLimit": 2000000000000000000, |                             "memoryLimit": 134217728, | ||||||
|                             "memoryLimit": 134217728000000, |  | ||||||
|                             "stackLimit": 0, |                             "stackLimit": 0, | ||||||
|                             "procLimit": 50, |                             "procLimit": 50, | ||||||
|                             "cpuRateLimit": 0, |                             "cpuRateLimit": 0, | ||||||
|  |  | ||||||
|  | @ -32,18 +32,17 @@ | ||||||
|                             }, |                             }, | ||||||
|                             "stdout": { |                             "stdout": { | ||||||
|                                 "name": "stdout", |                                 "name": "stdout", | ||||||
|                                 "max": 128000000000000000, |                                 "max": 33554432, | ||||||
|                                 "pipe": true |                                 "pipe": true | ||||||
|                             }, |                             }, | ||||||
|                             "stderr": { |                             "stderr": { | ||||||
|                                 "name": "stderr", |                                 "name": "stderr", | ||||||
|                                 "max": 65000000000, |                                 "max": 33554432, | ||||||
|                                 "pipe": true |                                 "pipe": true | ||||||
|                             }, |                             }, | ||||||
|                             "cpuLimit": 1000000000000000000, |                             "cpuLimit": 1000000000, | ||||||
|                             "realCpuLimit": 1000000000, |                             "clockLimit": 2000000000, | ||||||
|                             "clockLimit": 2000000000000000000, |                             "memoryLimit": 134217728, | ||||||
|                             "memoryLimit": 134217728000000, |  | ||||||
|                             "stackLimit": 0, |                             "stackLimit": 0, | ||||||
|                             "procLimit": 50, |                             "procLimit": 50, | ||||||
|                             "cpuRateLimit": 0, |                             "cpuRateLimit": 0, | ||||||
|  |  | ||||||
|  | @ -31,18 +31,17 @@ | ||||||
|                             }, |                             }, | ||||||
|                             "stdout": { |                             "stdout": { | ||||||
|                                 "name": "stdout", |                                 "name": "stdout", | ||||||
|                                 "max": 65000000000, |                                 "max": 33554432, | ||||||
|                                 "pipe": true |                                 "pipe": true | ||||||
|                             }, |                             }, | ||||||
|                             "stderr": { |                             "stderr": { | ||||||
|                                 "name": "stderr", |                                 "name": "stderr", | ||||||
|                                 "max": 128000000000000000, |                                 "max": 33554432, | ||||||
|                                 "pipe": true |                                 "pipe": true | ||||||
|                             }, |                             }, | ||||||
|                             "cpuLimit": 1000000000000000000, |                             "cpuLimit": 1000000000, | ||||||
|                             "realCpuLimit": 1000000000, |                             "clockLimit": 2000000000, | ||||||
|                             "clockLimit": 2000000000000000000, |                             "memoryLimit": 134217728, | ||||||
|                             "memoryLimit": 134217728000000, |  | ||||||
|                             "stackLimit": 0, |                             "stackLimit": 0, | ||||||
|                             "procLimit": 50, |                             "procLimit": 50, | ||||||
|                             "cpuRateLimit": 0, |                             "cpuRateLimit": 0, | ||||||
|  |  | ||||||
|  | @ -22,20 +22,22 @@ | ||||||
|                                 "-a" |                                 "-a" | ||||||
|                             ], |                             ], | ||||||
|                             "env": [], |                             "env": [], | ||||||
|  |                             "stdin": { | ||||||
|  |                                 "content": "" | ||||||
|  |                             }, | ||||||
|                             "stdout": { |                             "stdout": { | ||||||
|                                 "name": "stdout", |                                 "name": "stdout", | ||||||
|                                 "max": 128000000000000000, |                                 "max": 33554432, | ||||||
|                                 "pipe": true |                                 "pipe": true | ||||||
|                             }, |                             }, | ||||||
|                             "stderr": { |                             "stderr": { | ||||||
|                                 "name": "stderr", |                                 "name": "stderr", | ||||||
|                                 "max": 128000000000000000, |                                 "max": 33554432, | ||||||
|                                 "pipe": true |                                 "pipe": true | ||||||
|                             }, |                             }, | ||||||
|                             "cpuLimit": 1000000000000000000, |                             "cpuLimit": 1000000000, | ||||||
|                             "realCpuLimit": 1000000000, |                             "clockLimit": 2000000000, | ||||||
|                             "clockLimit": 2000000000000000000, |                             "memoryLimit": 91224961, | ||||||
|                             "memoryLimit": 95656304705536, |  | ||||||
|                             "stackLimit": 0, |                             "stackLimit": 0, | ||||||
|                             "procLimit": 50, |                             "procLimit": 50, | ||||||
|                             "cpuRateLimit": 0, |                             "cpuRateLimit": 0, | ||||||
|  | @ -67,11 +69,7 @@ | ||||||
|                                 "cpuLimit": 1000000000, |                                 "cpuLimit": 1000000000, | ||||||
|                                 "clockLimit": 2000000000, |                                 "clockLimit": 2000000000, | ||||||
|                                 "memoryLimit": 95656304705536, |                                 "memoryLimit": 95656304705536, | ||||||
|                                 "procLimit": 50, |                                 "procLimit": 50 | ||||||
|                                 "copyOut": [ |  | ||||||
|                                     "stdout", |  | ||||||
|                                     "stderr" |  | ||||||
|                                 ] |  | ||||||
|                             }, |                             }, | ||||||
|                             { |                             { | ||||||
|                                 "stdin": { |                                 "stdin": { | ||||||
|  | @ -80,11 +78,7 @@ | ||||||
|                                 "cpuLimit": 1000000000, |                                 "cpuLimit": 1000000000, | ||||||
|                                 "clockLimit": 2000000000, |                                 "clockLimit": 2000000000, | ||||||
|                                 "memoryLimit": 95656304705536, |                                 "memoryLimit": 95656304705536, | ||||||
|                                 "procLimit": 50, |                                 "procLimit": 50 | ||||||
|                                 "copyOut": [ |  | ||||||
|                                     "stdout", |  | ||||||
|                                     "stderr" |  | ||||||
|                                 ] |  | ||||||
|                             } |                             } | ||||||
|                         ] |                         ] | ||||||
|                     } |                     } | ||||||
|  |  | ||||||
|  | @ -30,18 +30,17 @@ | ||||||
|                             }, |                             }, | ||||||
|                             "stdout": { |                             "stdout": { | ||||||
|                                 "name": "stdout", |                                 "name": "stdout", | ||||||
|                                 "max": 128000000000000000, |                                 "max": 33554432, | ||||||
|                                 "pipe": true |                                 "pipe": true | ||||||
|                             }, |                             }, | ||||||
|                             "stderr": { |                             "stderr": { | ||||||
|                                 "name": "stderr", |                                 "name": "stderr", | ||||||
|                                 "max": 128000000000000000, |                                 "max": 33554432, | ||||||
|                                 "pipe": true |                                 "pipe": true | ||||||
|                             }, |                             }, | ||||||
|                             "cpuLimit": 1000000000000000000, |                             "cpuLimit": 1000000000, | ||||||
|                             "realCpuLimit": 1000000000, |                             "clockLimit": 2000000000, | ||||||
|                             "clockLimit": 2000000000000000000, |                             "memoryLimit": 134217728, | ||||||
|                             "memoryLimit": 134217728000000, |  | ||||||
|                             "stackLimit": 0, |                             "stackLimit": 0, | ||||||
|                             "procLimit": 50, |                             "procLimit": 50, | ||||||
|                             "cpuRateLimit": 0, |                             "cpuRateLimit": 0, | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user