ApplicationRuntimeHandler及IRuntimeHandler文档解析

ApplicationRuntimeHandlers

类图如下:

ApplicationRuntimeHandlers类图

文档解析:

匹配app和backend的handlers机制。

1.add(self,application,backend,handler)

2.get(self,application,backend)

3.getAllBackends(self,application=None)

4.getAllApplication(self,backend=None)

IRuntimeHandler

类图如下:

IRuntimeHandler类图

文档解析:

RuntimeHandler是一个连接器,用来连接app和backend。app的configure方法产生appconfig对象。backend的submit方法使用jobconfig对象。RuntimeHandler将appconfig对象转换成jobconfig对象。该转换是作业提交的一部分。它在prepare方法中实现。

1.master_prepare(self,app,appmasterconfig)

  • 为作业提交的共性(共享)部分做一些准备
  • 每个作业调用一次(包括要拆分作业或者不拆分的作业)
  • 返回值为backend可理解的jobmasterconfig对象
  • 参数
    • - app: 原始的app对象
    • - appmaster config:app.master_configure()的结果

2.prepare(self,app,appsubconfig,appmasterconfig,jobmasterconfig)

  • 为作业提交的特性(子作业)部分做一些准备工作
  • 在拆分情况下每个子作业调用一次。
  • 如果没有拆分成子作业,则只调用一次
  • 返回值是backend可理解的subjobconfig对象的列表
  • 参数
    • - app: 原始的app对象
    • - appmaster config: app.master_configure()的结果
    • - appsubconfig: app.configure()为每个子作业运行的结果的列表(不拆分的情况下则是主作业)
    • - jobmasterconfig: self.master_prepare()的返回结果

Comments !

blogroll

social