execution

This commit is contained in:
Alfredo Oliviero 2024-10-09 15:05:53 +02:00
parent 71a2e513cd
commit c41cd7b228
1 changed files with 52 additions and 28 deletions

View File

@ -1,61 +1,85 @@
# Cloud Computing Platform (CCP) Page
The **Cloud Computing Platform** page allows users to execute predefined methods and monitor their execution.
The **Cloud Computing Platform (CCP)** page allows users to execute predefined methods and monitor their execution within a cloud-based infrastructure.
The page is composed of:
* The **Methods List** section on the left, displaying the list of all available methods (see [Methods List](./07_methods_list.md)).
* The **Method Execution form** section, used to configure and start the execution of an available method.
* The **Execution Monitor** section, used to monitor scheduled, pending, and finished executions.
- **Methods List** section on the left, displaying all available methods (see [Methods List](./07_methods_list.md)).
- **Method Execution form** section, used to configure and start the execution of a selected method.
- **Execution Monitor** section, which tracks scheduled, pending, and finished executions.
![Cloud Computing Platform (CCP)](./imgs/analytics_engine_ccp.png)
---
## **Methods List**
When the **Cloud Computing Platform (CCP)** page is first opened, the execution form will be empty. To select a method for execution, use the **Methods List** section on the left. Methods can be selected by:
- Clicking the **Play** button ( ![play button](./imgs/method_button_play.png) ) next to a method to load it into the execution form.
- Dragging the method from the list and dropping it into the execution form.
Each method has its own predefined inputs, runtime, and parameters, which are configured during the method's creation. The *runtime* environment is defined by the `ccpimage` input, which specifies the Docker image to be used. This runtime is **usually immutable**, meaning users typically cannot modify it during execution, but in certain cases, flexibility may be allowed depending on the method's configuration.
---
## **Method Execution form** Section
In the **Method Execution** section, users can configure the input parameters required for the execution of a selected method. Depending on the method selected, users may need to provide input files, set runtime options, and choose execution parameters.
Once a method is selected, the **Method Execution form** is populated with the inputs and options specific to the selected method. These parameters and inputs depend entirely on how the method was defined when it was integrated into CCP.
The inputs required can include:
### **Input Parameters**
- **Runtime**: Specifies the environment in which the method will run. This may vary depending on the selected method.
- **Annotations**: Parameters or tags that may be required or associated with the execution.
- **Input files or URLs**: Paths to files or URLs that are used as input for the method being executed.
The input parameters required for execution vary based on the method's definition. Common types of inputs include:
- **Runtime (`ccpimage`)**: Specifies the Docker image or environment in which the method will run. This is predefined via the `ccpimage` input and is **usually immutable**.
- **Input Files/URLs**: Paths to input files or URLs, such as CSV files or other required data formats, depending on the method's needs.
- **Parameters**: These include specific configuration values such as probabilities, number of iterations, or other settings required by the algorithm.
- **Annotations**: Metadata or tags associated with the execution, which can also appear in the output results, providing traceability across executions.
### **Options**
Users can choose to automatically archive the execution provenance when the process completes or customize additional execution parameters depending on their needs.
Depending on the method, additional options may be available:
### **Outputs**
- **Provenance Tracking**: Users can opt to automatically archive the execution details, including the provenance of the inputs, parameters, and results. This helps in keeping track of the execution history for reproducibility.
- **Error Handling**: Users can choose to report and log any errors or warnings encountered during the execution.
This section displays the results generated by the method execution. These outputs may include processed images, data files, or logs, depending on the method being used.
---
Finally, by clicking the **Execute** button, the method will be executed with the specified configuration, and users can track its progress and status in the **Monitor** section on the right side of the page.
## **Executing a Method**
Once the method is selected and configured, you can execute it by clicking the **Execute** button. Here's how the execution process works:
1. **Start of Execution**: After clicking *Execute*, CCP will begin by pulling the necessary Docker image (as specified by `ccpimage`), installing any dependencies, and running the method.
2. **Monitoring Progress**: The execution can be monitored in real time via the **Execution Monitor** (described below), where status updates and logs will be displayed.
3. **Outputs**: When the method completes, a link to download the output files, such as processed data, logs, or visualizations, will be provided. If provenance tracking is enabled, all execution details will be saved automatically.
---
## **Execution Monitor** Section
The **Execution Monitor** section, located on the right side of the page, allows users to track the progress of their method executions. It is divided into two main tabs:
- **Live Executions**: Displays the currently running or recently executed methods.
- **Archived Executions**: Shows the history of previously completed executions.
The **Execution Monitor** tracks the status of both active and past method executions. It provides two primary views:
### **Live Executions**
In the **Live Executions** tab, users can see the status of methods that are currently in progress or have just finished. Each execution is accompanied by important information, such as:
This tab displays the current status of running or recently finished executions. Key details include:
- **Method Name** and **Version**: Identifies the method being executed.
- **Status**: Indicates the current state of the execution (e.g., pending, running, successful, failed).
- **Timestamp**: Shows when the execution was accepted and the last update received.
- **Method Name and Version**: Identifies the method being executed.
- **Status**: Indicates the execution's current phase (e.g., pending, running, successful, failed).
- **Timestamp**: Shows when the execution started and when the last update was received.
- **Annotations**: Metadata and tags associated with the execution, which can be used to trace and organize multiple executions.
Additionally, users can:
Actions available in this tab include:
- **Re-submit**: Restart the execution of a previously run method by clicking the "Re-submit" button.
- **Cancel Execution**: Stop a running execution.
- **View Logs**: Access live logs to monitor the installation of dependencies, execution progress, warnings, and errors.
- **Resubmit**: Restart a previously executed method with the same configuration.
### **Archived Executions**
The **Archived Executions** tab stores the history of all past executions. Each record contains the following details:
This tab contains the history of all completed executions, whether successful or failed. Each execution includes:
- **Execution Name**: The name of the method that was executed.
- **Status**: Final result of the execution (e.g., successful, failed).
- **Details**: Information about the inputs, outputs, and logs related to the execution.
- **Execution Name**: The name of the method.
- **Status**: The final result of the execution.
- **Details**: Includes inputs, outputs, annotations, and logs.
Users can review archived executions to analyze performance, troubleshoot errors, or re-run methods if needed. All output files and logs are accessible for download or further analysis.
Users can download the outputs for further analysis or re-execute the method with modified parameters. This history is useful for troubleshooting,