Class |
Description |
ContainerTask |
This is an intermediate class that represents Flyte Tasks that run a container at execution time. |
This is an intermediate class that represents Flyte Tasks that run a container at execution time. This is the vast
majority of tasks - the typical @task
decorated tasks; for instance, all run a container. An example of
something that doesn’t run a container would be something like the Athena SQL task.
class ContainerTask(
name: str,
image: typing.Union[str, flyte._image.Image],
command: typing.List[str],
inputs: typing.Optional[typing.Dict[str, typing.Type]],
arguments: typing.Optional[typing.List[str]],
outputs: typing.Optional[typing.Dict[str, typing.Type]],
input_data_dir: str | pathlib._local.Path,
output_data_dir: str | pathlib._local.Path,
metadata_format: typing.Literal['JSON', 'YAML', 'PROTO'],
local_logs: bool,
kwargs,
)
Parameter |
Type |
name |
str |
image |
typing.Union[str, flyte._image.Image] |
command |
typing.List[str] |
inputs |
typing.Optional[typing.Dict[str, typing.Type]] |
arguments |
typing.Optional[typing.List[str]] |
outputs |
typing.Optional[typing.Dict[str, typing.Type]] |
input_data_dir |
str | pathlib._local.Path |
output_data_dir |
str | pathlib._local.Path |
metadata_format |
typing.Literal['JSON', 'YAML', 'PROTO'] |
local_logs |
bool |
kwargs |
**kwargs |
Method |
Description |
aio() |
The aio function allows executing “sync” tasks, in an async context. |
config() |
Returns additional configuration for the task. |
container_args() |
Returns the container args for the task. |
custom_config() |
Returns additional configuration for the task. |
data_loading_config() |
This configuration allows executing raw containers in Flyte using the Flyte CoPilot system. |
execute() |
This is the pure python function that will be executed when the task is called. |
forward() |
Think of this as a local execute method for your task. |
override() |
Override various parameters of the task template. |
post() |
This is the postexecute function that will be. |
pre() |
This is the preexecute function that will be. |
sql() |
Returns the SQL for the task. |
def aio(
args: *args,
kwargs: **kwargs,
) -> Coroutine[Any, Any, R] | R
The aio function allows executing “sync” tasks, in an async context. This helps with migrating v1 defined sync
tasks to be used within an asyncio parent task.
This function will also re-raise exceptions from the underlying task.
Example:
@env.task
def my_legacy_task(x: int) -> int:
return x
@env.task
async def my_new_parent_task(n: int) -> List[int]:
collect = []
for x in range(n):
collect.append(my_legacy_task.aio(x))
return asyncio.gather(*collect)
Parameter |
Type |
args |
*args |
kwargs |
**kwargs |
def config(
sctx: SerializationContext,
) -> Dict[str, str]
Returns additional configuration for the task. This is a set of key-value pairs that can be used to
configure the task execution environment at runtime. This is usually used by plugins.
Parameter |
Type |
sctx |
SerializationContext |
def container_args(
sctx: flyte.models.SerializationContext,
) -> typing.List[str]
Returns the container args for the task. This is a set of key-value pairs that can be used to
configure the task execution environment at runtime. This is usually used by plugins.
Parameter |
Type |
sctx |
flyte.models.SerializationContext |
def custom_config(
sctx: SerializationContext,
) -> Dict[str, str]
Returns additional configuration for the task. This is a set of key-value pairs that can be used to
configure the task execution environment at runtime. This is usually used by plugins.
Parameter |
Type |
sctx |
SerializationContext |
def data_loading_config(
sctx: flyte.models.SerializationContext,
) -> flyteidl.core.tasks_pb2.DataLoadingConfig
This configuration allows executing raw containers in Flyte using the Flyte CoPilot system
Flyte CoPilot, eliminates the needs of sdk inside the container. Any inputs required by the users container
are side-loaded in the input_path
Any outputs generated by the user container - within output_path are automatically uploaded
Parameter |
Type |
sctx |
flyte.models.SerializationContext |
def execute(
kwargs,
) -> typing.Any
This is the pure python function that will be executed when the task is called.
Parameter |
Type |
kwargs |
**kwargs |
def forward(
args: *args,
kwargs: **kwargs,
) -> Coroutine[Any, Any, R] | R
Think of this as a local execute method for your task. This function will be invoked by the call method
when not in a Flyte task execution context. See the implementation below for an example.
Parameter |
Type |
args |
*args |
kwargs |
**kwargs |
def override(
resources: Optional[Resources],
cache: CacheRequest,
retries: Union[int, RetryStrategy],
timeout: Optional[TimeoutType],
reusable: Union[ReusePolicy, Literal['off'], None],
env: Optional[Dict[str, str]],
secrets: Optional[SecretRequest],
kwargs: **kwargs,
) -> TaskTemplate
Override various parameters of the task template. This allows for dynamic configuration of the task
when it is called, such as changing the image, resources, cache policy, etc.
Parameter |
Type |
resources |
Optional[Resources] |
cache |
CacheRequest |
retries |
Union[int, RetryStrategy] |
timeout |
Optional[TimeoutType] |
reusable |
Union[ReusePolicy, Literal['off'], None] |
env |
Optional[Dict[str, str]] |
secrets |
Optional[SecretRequest] |
kwargs |
**kwargs |
def post(
return_vals: Any,
) -> Any
This is the postexecute function that will be
called after the task is executed
Parameter |
Type |
return_vals |
Any |
def pre(
args,
kwargs,
) -> Dict[str, Any]
This is the preexecute function that will be
called before the task is executed
Parameter |
Type |
args |
*args |
kwargs |
**kwargs |
def sql(
sctx: SerializationContext,
) -> Optional[str]
Returns the SQL for the task. This is a set of key-value pairs that can be used to
configure the task execution environment at runtime. This is usually used by plugins.
Parameter |
Type |
sctx |
SerializationContext |
Property |
Type |
Description |
native_interface |
None |
|