Memory Machine Cloud¶
This example shows how to use the MMCloud plugin to execute tasks on MemVerge Memory Machine Cloud.
Note
To clone and run the example code on this page, see the Flytesnacks repo.
from flytekit import Resources, task, workflow
from flytekitplugins.mmcloud import MMCloudConfig
MMCloudConfig
configures MMCloudTask
. Tasks specified with MMCloudConfig
will be executed using MMCloud. Tasks will be executed with requests cpu="1"
and mem="1Gi"
by default.
@task(task_config=MMCloudConfig())
def to_str(i: int) -> str:
return str(i)
@task(task_config=MMCloudConfig())
def to_int(s: str) -> int:
return int(s)
Resource (cpu and mem) requests and limits, container images, and environment variable specifications are supported.
@task(
task_config=MMCloudConfig(submit_extra="--migratePolicy [enable=true]"),
requests=Resources(cpu="1", mem="1Gi"),
limits=Resources(cpu="2", mem="4Gi"),
environment={"KEY": "value"},
)
def concatenate_str(s1: str, s2: str) -> str:
return s1 + s2
@workflow
def concatenate_int_wf(i1: int, i2: int) -> int:
i1_str = to_str(i=i1)
i2_str = to_str(i=i2)
return to_int(s=concatenate_str(s1=i1_str, s2=i2_str))