-
Hi! First off thanks for making Prefect, it's an awesome project. I have a question about how prefect handles a certain failure mode. My understanding from reading the
My question is: how can the For example, the Dask Another example would be a hypothetical executor that runs jobs on some cloud computing platform "directly". If you run out of money / allotted computing time for the month then how can the executor communicate an It seems to me that API specified in the Executor README simply does not allow for this possibility. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Hi @jbweston - this is such a great question! You are correct that there isn't really a first-class way to capture this failure mode using Prefect Core alone. This is precisely where Prefect Server / Cloud shine - in that case, if any tasks are mid run and killed, they will stop sending a heartbeat to the API. The Zombie Killer will eventually mark such a task as "Failed", from which point either the full flow run will resume (via Lazarus) or retry (if the task has retry settings configured). |
Beta Was this translation helpful? Give feedback.
Hi @jbweston - this is such a great question! You are correct that there isn't really a first-class way to capture this failure mode using Prefect Core alone. This is precisely where Prefect Server / Cloud shine - in that case, if any tasks are mid run and killed, they will stop sending a heartbeat to the API. The Zombie Killer will eventually mark such a task as "Failed", from which point either the full flow run will resume (via Lazarus) or retry (if the task has retry settings configured).