DemystifyPending
DemystifyPending is one the core functions, that helps FlytePropeller determine if a pending pod is indeed pending, or it is actually stuck in a un-reparable state. In such a case the pod should be marked as dead and the task should be retried.
def DemystifyPending(
status: v1.PodStatus,
info: pluginsCore.TaskInfo
) - > pluginsCore.PhaseInfo, error
Determines if a pending Kubernetes pod is genuinely pending or stuck in an unrecoverable state, allowing FlytePropeller to mark it as dead and retry the task. This function addresses the challenge of Kubernetes being designed for long-running services, whereas Flyte pods require automated failure handling.
Parameters
| Name | Type | Description |
|---|---|---|
| status | v1.PodStatus | The current status of the Kubernetes pod, providing details like container states, conditions, and reasons for its pending state. |
| info | pluginsCore.TaskInfo | Additional information about the task associated with the pod, used for context and potential updates. |
Returns
| Type | Description |
|---|---|
pluginsCore.PhaseInfo, error | A PhaseInfo object indicating the pod's current phase (e.g., queued, terminal, or system retryable failure) and an error if one occurred during processing. |