This commit is contained in:
parent
aee123601f
commit
f5b7563869
|
@ -24,7 +24,8 @@ def convert(repo_conf: repo.Config, task_conf: task.Config) -> result.Config:
|
||||||
default=result.Cmd(
|
default=result.Cmd(
|
||||||
args=task_stage.command.split(),
|
args=task_stage.command.split(),
|
||||||
copy_in={
|
copy_in={
|
||||||
file: result.CmdFile(src=file) for file in task_stage.files.import_
|
file: result.LocalFile(src=file)
|
||||||
|
for file in task_stage.files.import_
|
||||||
},
|
},
|
||||||
copy_out_cached=task_stage.files.export,
|
copy_out_cached=task_stage.files.export,
|
||||||
),
|
),
|
||||||
|
|
|
@ -1,26 +1,47 @@
|
||||||
from typing import Any, Dict, List, Optional
|
from typing import Any, Dict, List, Optional, Union
|
||||||
|
|
||||||
from pydantic import BaseModel, Field
|
from pydantic import BaseModel, Field
|
||||||
|
|
||||||
|
|
||||||
class CmdFile(BaseModel):
|
class LocalFile(BaseModel):
|
||||||
src: Optional[str] = None
|
src: str
|
||||||
content: Optional[str] = None
|
|
||||||
file_id: Optional[str] = Field(None, serialization_alias="fileId")
|
|
||||||
name: Optional[str] = None
|
class MemoryFile(BaseModel):
|
||||||
max: Optional[int] = None
|
content: str
|
||||||
symlink: Optional[str] = None
|
|
||||||
stream_in: bool = Field(False, serialization_alias="streamIn")
|
|
||||||
stream_out: bool = Field(False, serialization_alias="streamOut")
|
class PreparedFile(BaseModel):
|
||||||
pipe: bool = False
|
file_id: str = Field(..., alias="fileId")
|
||||||
|
|
||||||
|
|
||||||
|
class Collector(BaseModel):
|
||||||
|
name: str
|
||||||
|
max: int
|
||||||
|
pipe: bool = True
|
||||||
|
|
||||||
|
|
||||||
|
class Symlink(BaseModel):
|
||||||
|
symlink: str
|
||||||
|
|
||||||
|
|
||||||
|
class StreamIn(BaseModel):
|
||||||
|
stream_in: bool = Field(..., alias="streamIn")
|
||||||
|
|
||||||
|
|
||||||
|
class StreamOut(BaseModel):
|
||||||
|
stream_out: bool = Field(..., alias="streamOut")
|
||||||
|
|
||||||
|
|
||||||
|
InputFile = Union[LocalFile | MemoryFile | PreparedFile | Symlink]
|
||||||
|
|
||||||
|
|
||||||
class Cmd(BaseModel):
|
class Cmd(BaseModel):
|
||||||
args: List[str]
|
args: List[str]
|
||||||
env: List[str] = []
|
env: List[str] = []
|
||||||
stdin: Optional[CmdFile] = None
|
stdin: Optional[Union[InputFile | StreamIn]] = None
|
||||||
stdout: Optional[CmdFile] = None
|
stdout: Optional[Union[Collector | StreamOut]] = None
|
||||||
stderr: Optional[CmdFile] = None
|
stderr: Optional[Union[Collector | StreamOut]] = None
|
||||||
cpu_limit: int = Field(0, serialization_alias="cpuLimit")
|
cpu_limit: int = Field(0, serialization_alias="cpuLimit")
|
||||||
real_cpu_limit: int = Field(0, serialization_alias="realCpuLimit")
|
real_cpu_limit: int = Field(0, serialization_alias="realCpuLimit")
|
||||||
clock_limit: int = Field(0, serialization_alias="clockLimit")
|
clock_limit: int = Field(0, serialization_alias="clockLimit")
|
||||||
|
@ -29,7 +50,7 @@ class Cmd(BaseModel):
|
||||||
proc_limit: int = Field(0, serialization_alias="procLimit")
|
proc_limit: int = Field(0, 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, CmdFile] = Field({}, serialization_alias="copyIn")
|
copy_in: Dict[str, InputFile] = Field({}, serialization_alias="copyIn")
|
||||||
copy_in_cached: Dict[str, str] = Field({}, serialization_alias="copyInCached")
|
copy_in_cached: Dict[str, str] = Field({}, serialization_alias="copyInCached")
|
||||||
copy_in_dir: str = Field(".", serialization_alias="copyInDir")
|
copy_in_dir: str = Field(".", serialization_alias="copyInDir")
|
||||||
copy_out: List[str] = Field([], serialization_alias="copyOut")
|
copy_out: List[str] = Field([], serialization_alias="copyOut")
|
||||||
|
@ -45,9 +66,9 @@ class Cmd(BaseModel):
|
||||||
class OptionalCmd(BaseModel):
|
class OptionalCmd(BaseModel):
|
||||||
args: Optional[List[str]] = None
|
args: Optional[List[str]] = None
|
||||||
env: Optional[List[str]] = None
|
env: Optional[List[str]] = None
|
||||||
stdin: Optional[CmdFile] = None
|
stdin: Optional[Union[InputFile | StreamIn]] = None
|
||||||
stdout: Optional[CmdFile] = None
|
stdout: Optional[Union[Collector | StreamOut]] = None
|
||||||
stderr: Optional[CmdFile] = 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")
|
real_cpu_limit: Optional[int] = Field(None, serialization_alias="realCpuLimit")
|
||||||
clock_limit: Optional[int] = Field(None, serialization_alias="clockLimit")
|
clock_limit: Optional[int] = Field(None, serialization_alias="clockLimit")
|
||||||
|
@ -56,7 +77,7 @@ class OptionalCmd(BaseModel):
|
||||||
proc_limit: Optional[int] = Field(None, 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, CmdFile]] = Field(None, serialization_alias="copyIn")
|
copy_in: Optional[Dict[str, InputFile]] = Field(None, serialization_alias="copyIn")
|
||||||
copy_in_cached: Optional[Dict[str, str]] = Field(
|
copy_in_cached: Optional[Dict[str, str]] = Field(
|
||||||
None, serialization_alias="copyInCached"
|
None, serialization_alias="copyInCached"
|
||||||
)
|
)
|
||||||
|
|
|
@ -29,16 +29,10 @@
|
||||||
"cpuSetLimit": "",
|
"cpuSetLimit": "",
|
||||||
"copyIn": {
|
"copyIn": {
|
||||||
"tools/matlab-joj": {
|
"tools/matlab-joj": {
|
||||||
"src": "tools/matlab-joj",
|
"src": "tools/matlab-joj"
|
||||||
"streamIn": false,
|
|
||||||
"streamOut": false,
|
|
||||||
"pipe": false
|
|
||||||
},
|
},
|
||||||
"tools/matlab_formatter.py": {
|
"tools/matlab_formatter.py": {
|
||||||
"src": "tools/matlab_formatter.py",
|
"src": "tools/matlab_formatter.py"
|
||||||
"streamIn": false,
|
|
||||||
"streamOut": false,
|
|
||||||
"pipe": false
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"copyInCached": {},
|
"copyInCached": {},
|
||||||
|
@ -96,16 +90,10 @@
|
||||||
"cpuSetLimit": "",
|
"cpuSetLimit": "",
|
||||||
"copyIn": {
|
"copyIn": {
|
||||||
"tools/matlab-joj": {
|
"tools/matlab-joj": {
|
||||||
"src": "tools/matlab-joj",
|
"src": "tools/matlab-joj"
|
||||||
"streamIn": false,
|
|
||||||
"streamOut": false,
|
|
||||||
"pipe": false
|
|
||||||
},
|
},
|
||||||
"tools/matlab_formatter.py": {
|
"tools/matlab_formatter.py": {
|
||||||
"src": "tools/matlab_formatter.py",
|
"src": "tools/matlab_formatter.py"
|
||||||
"streamIn": false,
|
|
||||||
"streamOut": false,
|
|
||||||
"pipe": false
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"copyInCached": {},
|
"copyInCached": {},
|
||||||
|
|
Loading…
Reference in New Issue
Block a user