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
类图如下:
文档解析:
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 !