Skip to main content

Blueprint Execution Events and Error Handling

In Hyko, the execution of blueprints involves pulling Docker images for functions and models from Hyko's registry, running their containers, and executing their logic to produce outputs. Throughout this process, the executor emits several different events to provide insight into the execution lifecycle and handle any encountered errors effectively 🚀.

Execution Events

The executor emits various events during functions and models execution, allowing users to track the progress and status of the execution. These events include:

  • Pulling Image: Indicates that the docker image of a function/model is being pulled from Hyko's registry 🚚.
  • Image Pulled: Indicates that the docker image of a function/model is pulled successfully from Hyko's registry ✅.
  • Starting Container: Indicates that the function/model container is being started 🏃‍♂️.
  • Loading Function: Indicates that the function/model is being loaded in the container ⏳.
  • Function Loaded: Indicates that the function/model has been loaded successfully in the container ✨.
  • Execution Started: Indicates that the function/model execution has started 🎬.
  • Execution Finished: Indicates that the function/model execution has finished successfully 🎉.

Example log 📋

Common Errors & Error Handling

While blueprint execution strives for smooth and error-free operation, errors may occur at various stages of the process. Hyko provides robust error handling mechanisms to detect, report, and manage these errors effectively ⚠️.

  • ImagePullError: Failure to pull a container image from a registry ❌.
  • ContainerStartingError: Failure to start a container ❌.
  • ExecutionError: Error during the execution of the function or model in the blueprint ❌.
  • FunctionExecutionError: Error during the execution of a function ❌.
  • InputMissingError: Required input data is missing for a model or function ❌.
  • MachineOfflineError: The machine where a container should run is offline or unreachable ❌.
  • NotConnectedError: The machine where the blueprint should run isn't connected ❌.
  • RetriableError: This error occurs when the executor reaches maximum retries on an action (starting container, loading function or executing the function) 🔁.
  • SourceNodeMissingError: A required source node (Input) is missing in the pipeline ❌.
  • ValueMissingError: A required value or parameter is missing for a specific function or model ❌.

When an error occurs, users can review detailed error messages and logs to understand the nature and context of the error. These error messages provide valuable insights into where the error occurred, what caused it, and any additional information that may aid in troubleshooting and resolution.

Users can access error messages and logs directly from the function or model node in the blueprint editor, enabling swift diagnosis and resolution of errors encountered during blueprint execution 🛠️.

By leveraging execution events and robust error handling mechanisms, users can ensure the smooth and reliable execution of their blueprints on the Hyko platform 🌟.

Example log