@staticmethod
def dataset_processor(instruments_d, column_names, start_time, end_time, freq):
    '\n        Load and process the data, return the data set.\n        - default using multi-kernel method.\n\n        '
    normalize_column_names = normalize_cache_fields(column_names)
    data = dict()
    if (C.maxtasksperchild is None):
        p = Pool(processes=C.kernels)
    else:
        p = Pool(processes=C.kernels, maxtasksperchild=C.maxtasksperchild)
    if isinstance(instruments_d, dict):
        for (inst, spans) in instruments_d.items():
            data[inst] = p.apply_async(DatasetProvider.expression_calculator, args=(inst, start_time, end_time, freq, normalize_column_names, spans, C))
    else:
        for inst in instruments_d:
            data[inst] = p.apply_async(DatasetProvider.expression_calculator, args=(inst, start_time, end_time, freq, normalize_column_names, None, C))
    p.close()
    p.join()
    new_data = dict()
    for inst in sorted(data.keys()):
        if (len(data[inst].get()) > 0):
            new_data[inst] = data[inst].get()
    if (len(new_data) > 0):
        data = pd.concat(new_data, names=['instrument'], sort=False)
        data = DiskDatasetCache.cache_to_origin_data(data, column_names)
    else:
        data = pd.DataFrame(columns=column_names)
    return data
Load and process the data, return the data set.
- default using multi-kernel method.
@staticmethod
def dataset_processor(instruments_d, column_names, start_time, end_time, freq):
    '\n        Load and process the data, return the data set.\n        - default using multi-kernel method.\n\n        '
    normalize_column_names = normalize_cache_fields(column_names)
    data = dict()
    if (C.maxtasksperchild is None):
        p = Pool(processes=C.kernels)
    else:
        p = Pool(processes=C.kernels, maxtasksperchild=C.maxtasksperchild)
    if isinstance(instruments_d, dict):
        for (inst, spans) in instruments_d.items():
            data[inst] = p.apply_async(DatasetProvider.expression_calculator, args=(inst, start_time, end_time, freq, normalize_column_names, spans, C))
    else:
        for inst in instruments_d:
            data[inst] = p.apply_async(DatasetProvider.expression_calculator, args=(inst, start_time, end_time, freq, normalize_column_names, None, C))
    p.close()
    p.join()
    new_data = dict()
    for inst in sorted(data.keys()):
        if (len(data[inst].get()) > 0):
            new_data[inst] = data[inst].get()
    if (len(new_data) > 0):
        data = pd.concat(new_data, names=['instrument'], sort=False)
        data = DiskDatasetCache.cache_to_origin_data(data, column_names)
    else:
        data = pd.DataFrame(columns=column_names)
    return data