flyte提供使用者週期性的運行指定workflow。
可以使用cronjob或是定時時間區間啟動workflow與plan。
import flytekit as fl
from datetime import timedelta
from flytekit.core.schedule import CronSchedule, FixedRate
@fl.task()
def hello(a: int, b: str) -> str:
return f"Result: {a} and {b}"
@fl.workflow
def my_workflow(a: int, b: str) -> str:
return hello(a, b)
# Create a default launch plan0
default_lp = fl.LaunchPlan.get_or_create(workflow=my_workflow)
# Create a named launch plan
named_lp = fl.LaunchPlan.get_or_create(
workflow=my_workflow,
name="my_custom_launch_plan",
schedule=FixedRate(
duration=timedelta(hours=6)
),
#schedule=CronSchedule(
# schedule="0 10 * * 1", # Cron expression: minute hour day-of-month month day-of-week
# kickoff_time_input_arg=None
#)
default_inputs={"a": 1, "b": "periodic"}
)