更新时间:2024-08-08 GMT+08:00
分享

查看执行结果

分析作业的执行时间与环境资源类型、环境资源大小、处理数据大小等相关。您可以在“作业”页面查看执行结果或进行操作。提供了作业的执行状态的查看,并可对作业执行取消、删除、重试、克隆、导出操作。勾选多个作业,可以批量取消、批量删除、批量重试、批量导出。

作业执行状态如下所示。

  • 等待中:作业创建成功,等待处理中。当作业在等待中,task状态全是unknown,时间条显示灰色。
  • 运行中:作业创建成功,执行中。可单击作业名称,进入详情页查看运行详情。“运行中”的作业允许取消、克隆。
  • 成功:作业运行成功。可单击作业名称,进入详情页查看运行详情。
  • 失败:作业运行失败。可单击作业名称,进入详情页查看运行失败原因。
  • 取消中:对“运行中”的作业,执行“取消”操作,取消运行。
  • 已取消:取消运行成功。
  • 强制取消:对于超时失败或者取消但未选择强制取消的场景,可以执行强制取消,强制作业。

查看执行状态

您可以通过单击作业名称,进入详情页面,查看详细的运行信息。包括运行状态、标签、描述、创建时间、完成时间、运行时间、计算节点标签、加速类型、优先级等。单击“概述”按钮,在展开的信息栏中查看作业的输入&输出、节点参数、应用;在作业的子任务中可以查看日志、事件;在事件页签,可以查看实例的事件详情、下载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; 
          } 
    }

获取作业结果

作业运行成功后,可以看到每个应用的运行信息:输入输出,节点参数,应用以及日志等信息,最多可以显示5000条日志。

单击具体的输出参数可跳转到具体的文件位置。

图2 获取作业结果

同时,项目支持导出作业的元数据信息,包括以下内容。

  • 作业的基本配置信息,以yaml文件导出,包含作业名称,依赖的workflow名称/版本,基本的CPU/Memory配置,输入输出参数等信息。
  • 作业的运行信息,包括每个任务的启动、停止时间、运行状态,日志链接等。

在作业对应的操作列中,单击“更多 > 导出”,导出单个作业的元数据信息。勾选多个作业,在上方单击“导出”,批量导出作业元数据信息。

图3 导出作业元数据

Task失败状态条显示说明

每个Task 状态条显示成三段:Task添加重试失败总时间、当前pod等待时间、pod运行时间。

第一段表示所有重试失败的总时间,第二段表示当前pod等待时间,第三段表示当前pod运行时间。

如果所有重试pod都失败,则显示一个总的失败时间。如果没有重试,一次就执行成功,则无需显示失败时间,只显示等待时间+运行时间两段。

相关文档