def create_reduce_job(config, internal_storage, executor_id, reduce_job_id, reduce_function, map_job, map_futures, runtime_meta, runtime_memory, reducer_one_per_object, extra_env, include_modules, exclude_modules, execution_timeout=None):
    '\n    Wrapper to create a reduce job. Apply a function across all map futures.\n    '
    host_job_meta = {'host_job_create_tstamp': time.time()}
    iterdata = [(map_futures,)]
    if (hasattr(map_job, 'parts_per_object') and reducer_one_per_object):
        prev_total_partitons = 0
        iterdata = []
        for total_partitions in map_job.parts_per_object:
            iterdata.append((map_futures[prev_total_partitons:(prev_total_partitons + total_partitions)],))
            prev_total_partitons += total_partitions
    reduce_job_env = {'__LITHOPS_REDUCE_JOB': True}
    if (extra_env is None):
        ext_env = reduce_job_env
    else:
        ext_env = extra_env.copy()
        ext_env.update(reduce_job_env)
    iterdata = utils.verify_args(reduce_function, iterdata, None)
    return _create_job(config=config, internal_storage=internal_storage, executor_id=executor_id, job_id=reduce_job_id, func=reduce_function, iterdata=iterdata, runtime_meta=runtime_meta, runtime_memory=runtime_memory, extra_env=ext_env, include_modules=include_modules, exclude_modules=exclude_modules, execution_timeout=execution_timeout, host_job_meta=host_job_meta)
Wrapper to create a reduce job. Apply a function across all map futures.
def create_reduce_job(config, internal_storage, executor_id, reduce_job_id, reduce_function, map_job, map_futures, runtime_meta, runtime_memory, reducer_one_per_object, extra_env, include_modules, exclude_modules, execution_timeout=None):
    '\n    \n    '
    host_job_meta = {'host_job_create_tstamp': time.time()}
    iterdata = [(map_futures,)]
    if (hasattr(map_job, 'parts_per_object') and reducer_one_per_object):
        prev_total_partitons = 0
        iterdata = []
        for total_partitions in map_job.parts_per_object:
            iterdata.append((map_futures[prev_total_partitons:(prev_total_partitons + total_partitions)],))
            prev_total_partitons += total_partitions
    reduce_job_env = {'__LITHOPS_REDUCE_JOB': True}
    if (extra_env is None):
        ext_env = reduce_job_env
    else:
        ext_env = extra_env.copy()
        ext_env.update(reduce_job_env)
    iterdata = utils.verify_args(reduce_function, iterdata, None)
    return _create_job(config=config, internal_storage=internal_storage, executor_id=executor_id, job_id=reduce_job_id, func=reduce_function, iterdata=iterdata, runtime_meta=runtime_meta, runtime_memory=runtime_memory, extra_env=ext_env, include_modules=include_modules, exclude_modules=exclude_modules, execution_timeout=execution_timeout, host_job_meta=host_job_meta)