YSF
07/18/2023, 8:50 PMpull:
- prefect.projects.steps.git_clone_project:
repository: myscmprovider/myrepo.git
branch: main
access_token: '{{ prefect.blocks.secret.token }}'
- prefect.deployments.steps.set_working_directory:
id: chdir
directory: /opt/prefect/myrepo/k8-multi-container/
deployments:
- name: deployment-1
entrypoint: .\workflow\flow_demo.py:flow_1
work_pool:
name: aks-worker
job_variables:
image: myimage_1
cpu_request: "4"
cpu_limit: "6"
memory_request: "4Gi"
memory_limit: "6Gi"
- name: deployment-2
entrypoint: .\workflow\another_flow.py:flo_2
work_pool:
name: aks-worker
job_variables:
image: myimage_2
cpu_request: "4"
cpu_limit: "6"
memory_request: "4Gi"
memory_limit: "6Gi"
But I don't understand completely how these two deployments are linked? How does the dependency between flow 1 and flow 2 get established? They don't need to pass data, but flow 2 shouldn't run if flow 1 failed. And how would I kick it off all at once? Right now I do prefect deployments run to run things.Nate
07/18/2023, 9:42 PMrun_deployment
for example
from prefect import flow
from prefect.client.schemas.core import FlowRun
from prefect.deployments import run_deployment
@flow
def parent_flow():
flow_run_1: FlowRun = run_deployment("flow-1/deployment-1")
if flow_run_1.state.is_completed():
flow_run_2: FlowRun = run_deployment("flow-2/deployment-2")
YSF
07/20/2023, 6:59 PMNate
07/20/2023, 7:25 PMfrom prefect.client.schemas.objects import FlowRun