医疗智能体 EIHEALTH-查看执行结果:查看执行状态

时间:2024-12-13 16:14:41

查看执行状态

您可以通过单击作业名称,进入详情页面,查看详细的运行信息。包括运行状态、标签、描述、创建时间、完成时间、运行时间、计算节点标签、加速类型、优先级等。单击“概述”按钮,在展开的信息栏中查看作业的输入&输出、节点参数、应用;在作业的子任务中可以查看日志、事件;在事件页签,可以查看实例的事件详情、下载YAML文件、查看监控。如果并发执行了多个作业,则会产生多个子任务。

对于执行失败的作业,鼠标指向作业状态,在弹出的提示框中可以查看“失败信息”“失败原因”。同时,使用不同颜色提示执行状态,特别是对于由多个应用构成的分析作业,通过颜色方便地区分应用的执行状态。

  • 绿色:运行成功。
  • 红色:运行失败。
  • 蓝色:等待运行。
  • 灰色:被取消运行。
  • 蓝色圆圈:运行中。

作业运行的时间,可以通过“概述”列的进度条进行查看。进度条中的颜色与应用状态颜色对应。单击进度条中的颜色块,可以展开并查看应用的运行日志,最多可以显示5000条日志。

分析作业创建后,可以通过“事件”查看容器执行该作业时的动作和状态,单击图标,展开“事件”

图1 作业详情

如果作业显示运行正常,但实际作业中的某一个应用运行失败,请检查输入数据是否正常,并修改算法程序入口的main函数,保证运行结果有显式的返回值。

  • 故障说明

    作业运行时,每个应用称之为一个任务(Task)。部分场景下,任务输入数据异常,实际作业运行失败,但界面显示运行正常。

    作业中子任务没有返回正确的值,但是容器仍正常退出return 0,此时判定为子任务已正确执行。

    实际上作业的子任务对应的就是K8S中的一个Pod,其返回状态就是Pod的phase映射,即容器以非0状态退出或者被系统终止会算作失败;容器return 0并且不再重启即算成功。详细内容介绍请参见Pod的生命周期

  • 处理建议

    所有的算法程序的入口main函数都显式的给出返回值,即正确执行则return 0。其他异常场景return其他数值或者抛出异常,并输出相关日志。

    # python  
     def funcA(): 
         try: 
           doSomething(); 
         except: 
           log.print("An exception occurred, xxxxx"); 
           raise 自定义异常; 
     def funcB(): 
         result = doSomething(); 
         return result; 
     if __name__ == '__main__': 
         funcA(); 
         result = funcB(); 
         if result:  
            sys.exit(1); 
         else: 
             sys.exit(0);
    # c++ 
    int main(){ 
        int result = doSomething(); 
         if(result != 0){ 
             return -1; 
         } 
         else{ 
            return 0; 
          } 
    }
support.huaweicloud.com/usermanual-eihealth/eihealth_25_0037.html