def pre_add(self, item): item.name = item.name.replace('_', '-')[0:54].lower() if item.job_template is None: raise MyappException("Job Template 为必选") item.volume_mount = item.pipeline.project.volume_mount # 默认使用项目的配置 if item.job_template.volume_mount and item.job_template.volume_mount not in item.volume_mount: if item.volume_mount: item.volume_mount += "," + item.job_template.volume_mount else: item.volume_mount = item.job_template.volume_mount item.resource_memory = core.check_resource_memory(item.resource_memory) item.resource_cpu = core.check_resource_cpu(item.resource_cpu) self.merge_args(item, 'add') self.task_args_check(item) item.create_datetime = datetime.datetime.now() item.change_datetime = datetime.datetime.now() if core.get_gpu(item.resource_gpu)[0]: item.node_selector = item.node_selector.replace( 'cpu=true', 'gpu=true') else: item.node_selector = item.node_selector.replace( 'gpu=true', 'cpu=true')
def pre_add(self, item): if item.job_type is None: raise MyappException("Job type is mandatory") core.validate_json(item.parameters) item.parameters = self.validate_parameters(item.parameters,item.algorithm_name) item.resource_memory=core.check_resource_memory(item.resource_memory,self.src_item_json.get('resource_memory',None) if self.src_item_json else None) item.resource_cpu = core.check_resource_cpu(item.resource_cpu,self.src_item_json.get('resource_cpu',None) if self.src_item_json else None) self.merge_trial_spec(item) self.make_experiment(item)
def pre_add(self, item): item.name = item.name.replace("_", "-")[0:54].lower() # 不需要用户自己填写node selector # if core.get_gpu(item.resource_gpu)[0]: # item.node_selector = item.node_selector.replace('cpu=true','gpu=true') # else: # item.node_selector = item.node_selector.replace('gpu=true', 'cpu=true') item.resource_memory = core.check_resource_memory( item.resource_memory, self.src_item_json.get('resource_memory', None)) item.resource_cpu = core.check_resource_cpu( item.resource_cpu, self.src_item_json.get('resource_cpu', None)) if 'theia' in item.images or 'vscode' in item.images: item.ide_type = 'theia' else: item.ide_type = 'jupyter' if not item.id: item.volume_mount = item.project.volume_mount
def pre_update(self, item): item.name = item.name.replace('_', '-')[0:54].lower() if item.job_template is None: raise MyappException("Job Template 为必选") # if item.job_template.volume_mount and item.job_template.volume_mount not in item.volume_mount: # if item.volume_mount: # item.volume_mount += ","+item.job_template.volume_mount # else: # item.volume_mount = item.job_template.volume_mount if item.outputs: core.validate_json(item.outputs) item.outputs = json.dumps(json.loads(item.outputs), indent=4, ensure_ascii=False) if item.expand: core.validate_json(item.expand) item.expand = json.dumps(json.loads(item.expand), indent=4, ensure_ascii=False) item.resource_memory = core.check_resource_memory( item.resource_memory, self.src_item_json.get('resource_memory', None)) item.resource_cpu = core.check_resource_cpu( item.resource_cpu, self.src_item_json.get('resource_cpu', None)) # item.resource_memory=core.check_resource_memory(item.resource_memory,self.src_resource_memory) # item.resource_cpu = core.check_resource_cpu(item.resource_cpu,self.src_resource_cpu) self.merge_args(item, 'update') self.task_args_check(item) item.change_datetime = datetime.datetime.now() if core.get_gpu(item.resource_gpu)[0]: item.node_selector = item.node_selector.replace( 'cpu=true', 'gpu=true') else: item.node_selector = item.node_selector.replace( 'gpu=true', 'cpu=true')