Ihor Ramskyi
12/20/2024, 5:25 PM.serve()
. I need this automation to work on flow runs from deployments, deployed with prefect deploy ... prefect.yaml
. No luck,
I tried to go through framework source code, find out how the mechanism for heartbeats works. If I'm not mistaken, heartbeat events are all implemented and used in class Runner
. https://prefect-python-sdk-docs.netlify.app/prefect/runner/runner/ states that Runner is used for managing flow runs, deployed with .serve()
and serve()
. Now I feel lost. Is there a way to make heartbeat work for `prefect deploy`ed flows? And most important question, what is Runner
, after all?Chris White
PREFECT_RUNNER_HEARTBEAT_FREQUENCY
set to an integer value greater than or equal to 30
Can you confirm that both of those are true and you are still seeing an issue?
And to answer your other question: the Runner
is essentially a process nanny for the flow run; this allows prefect to better manage the flow run's environment and capture certain failure modes betterIhor Ramskyi
12/23/2024, 2:01 PMIhor Ramskyi
12/23/2024, 2:30 PMChris White
PREFECT_RUNNER_HEARTBEAT_FREQUENCY
on your docker worker? and you are sure the docker image had 3.1.8 installed within it?Ihor Ramskyi
12/23/2024, 5:16 PMlogger.info("Version: " + subprocess.run(["prefect --version"], check=True, text=True, shell=True, capture_output=True).stdout)
logger.info("Config view: " + subprocess.run(["prefect config view"], check=True, text=True, shell=True, capture_output=True).stdout)
at the start of the flow, and it prints that:Ihor Ramskyi
12/23/2024, 5:20 PMIhor Ramskyi
12/23/2024, 5:21 PMChris White
Ihor Ramskyi
12/26/2024, 12:09 PMIhor Ramskyi
12/26/2024, 6:59 PM