Пример #1
0
def component_list():
    request_data = request.json
    parser = schedule_utils.get_job_dsl_parser_by_job_id(job_id=request_data.get('job_id'))
    if parser:
        return get_json_result(data={'components': list(parser.get_dsl().get('components').keys())})
    else:
        return get_json_result(retcode=100, retmsg='No job matched, please make sure the job id is valid.')
Пример #2
0
def component_parameters():
    request_data = request.json
    check_request_parameters(request_data)
    job_id = request_data.get('job_id', '')
    job_dsl_parser = schedule_utils.get_job_dsl_parser_by_job_id(job_id=job_id)
    if job_dsl_parser:
        component = job_dsl_parser.get_component_info(
            request_data['component_name'])
        parameters = component.get_role_parameters()
        for role, partys_parameters in parameters.items():
            for party_parameters in partys_parameters:
                if party_parameters.get('local', {}).get(
                        'role',
                        '') == request_data['role'] and party_parameters.get(
                            'local', {}).get('party_id', '') == int(
                                request_data['party_id']):
                    output_parameters = {}
                    output_parameters['module'] = party_parameters.get(
                        'module', '')
                    for p_k, p_v in party_parameters.items():
                        if p_k.endswith('Param'):
                            output_parameters[p_k] = p_v
                    return get_json_result(retcode=0,
                                           retmsg='success',
                                           data=output_parameters)
        else:
            return get_json_result(
                retcode=0, retmsg='can not found this component parameters')
    else:
        return get_json_result(retcode=101, retmsg='can not found this job')
Пример #3
0
 def initialize_tasks(cls,
                      job_id,
                      role,
                      party_id,
                      run_on_this_party,
                      initiator_role,
                      initiator_party_id,
                      job_parameters: RunParameters = None,
                      dsl_parser=None,
                      components: list = None,
                      **kwargs):
     common_task_info = {}
     common_task_info["job_id"] = job_id
     common_task_info["initiator_role"] = initiator_role
     common_task_info["initiator_party_id"] = initiator_party_id
     common_task_info["role"] = role
     common_task_info["party_id"] = party_id
     common_task_info["run_on_this_party"] = run_on_this_party
     common_task_info["federated_mode"] = kwargs.get(
         "federated_mode",
         job_parameters.federated_mode if job_parameters else None)
     common_task_info["federated_status_collect_type"] = kwargs.get(
         "federated_status_collect_type",
         job_parameters.federated_status_collect_type
         if job_parameters else None)
     common_task_info["auto_retries"] = kwargs.get(
         "auto_retries",
         job_parameters.auto_retries if job_parameters else None)
     common_task_info["auto_retry_delay"] = kwargs.get(
         "auto_retry_delay",
         job_parameters.auto_retry_delay if job_parameters else None)
     common_task_info["task_version"] = kwargs.get("task_version")
     if dsl_parser is None:
         dsl_parser = schedule_utils.get_job_dsl_parser_by_job_id(job_id)
     provider_group = ProviderManager.get_job_provider_group(
         dsl_parser=dsl_parser, components=components)
     initialized_result = {}
     for group_key, group_info in provider_group.items():
         initialized_config = {}
         initialized_config.update(group_info)
         initialized_config["common_task_info"] = common_task_info
         if run_on_this_party:
             code, _result = WorkerManager.start_general_worker(
                 worker_name=WorkerName.TASK_INITIALIZER,
                 job_id=job_id,
                 role=role,
                 party_id=party_id,
                 initialized_config=initialized_config,
                 run_in_subprocess=False
                 if initialized_config["if_default_provider"] else True)
             initialized_result.update(_result)
         else:
             cls.initialize_task_holder_for_scheduling(
                 role=role,
                 party_id=party_id,
                 components=initialized_config["components"],
                 common_task_info=common_task_info,
                 provider_info=initialized_config["provider"])
     return initialized_result, provider_group
Пример #4
0
def get_component_output_tables_meta(task_data):
    check_request_parameters(task_data)
    tracker = Tracker(job_id=task_data['job_id'], component_name=task_data['component_name'],
                      role=task_data['role'], party_id=task_data['party_id'])
    job_dsl_parser = schedule_utils.get_job_dsl_parser_by_job_id(job_id=task_data['job_id'])
    if not job_dsl_parser:
        raise Exception('can not get dag parser, please check if the parameters are correct')
    component = job_dsl_parser.get_component_info(task_data['component_name'])
    if not component:
        raise Exception('can not found component, please check if the parameters are correct')
    output_data_table_infos = tracker.get_output_data_info()
    output_tables_meta = tracker.get_output_data_table(output_data_infos=output_data_table_infos)
    return output_tables_meta