Run pipelines in parallel.

    Args:
        data(dict): parameters for the pipeline (model, options, ...).
    Returns:
        dict: with two fields: success True/False and captured output (list of str).

def matrix_worker(data):
    """
    Run pipelines in parallel.

    Args:
        data(dict): parameters for the pipeline (model, options, ...).
    Returns:
        dict: with two fields: success True/False and captured output (list of str).
    """
    matrix = data['matrix']
    Logger.get_logger(__name__ + '.worker').info(
        "Processing pipeline for matrix entry '%s'", matrix['name'])

    env = matrix['env'].copy()
    env.update({'PIPELINE_MATRIX': matrix['name']})

    pipeline = Pipeline(model=data['model'], env=env, options=data['options'])
    pipeline.hooks = data['hooks']
    return pipeline.process(data['pipeline'])