Пример #1
0
def knative_executor(config=None,
                     runtime=None,
                     runtime_memory=None,
                     workers=None,
                     region=None,
                     storage_backend=None,
                     storage_backend_region=None,
                     rabbitmq_monitor=None,
                     remote_invoker=None,
                     log_level=None):
    """
    Function executor for Knative
    """
    compute_backend = 'knative'
    return FunctionExecutor(config=config,
                            runtime=runtime,
                            runtime_memory=runtime_memory,
                            workers=workers,
                            compute_backend=compute_backend,
                            compute_backend_region=region,
                            storage_backend=storage_backend,
                            storage_backend_region=storage_backend_region,
                            rabbitmq_monitor=rabbitmq_monitor,
                            remote_invoker=remote_invoker,
                            log_level=log_level)
Пример #2
0
def function_executor(config=None,
                      runtime=None,
                      runtime_memory=None,
                      workers=None,
                      backend=None,
                      region=None,
                      storage_backend=None,
                      storage_backend_region=None,
                      rabbitmq_monitor=None,
                      remote_invoker=None,
                      log_level=None):
    """
    Generic function executor
    """
    return FunctionExecutor(config=config,
                            runtime=runtime,
                            runtime_memory=runtime_memory,
                            workers=workers,
                            compute_backend=backend,
                            compute_backend_region=region,
                            storage_backend=storage_backend,
                            storage_backend_region=storage_backend_region,
                            rabbitmq_monitor=rabbitmq_monitor,
                            remote_invoker=remote_invoker,
                            log_level=log_level)
Пример #3
0
def _direct_array_copy(
    source: ReadableArray,
    target: WriteableArray,
    chunks: Tuple[int, ...],
    pywren_function_executor: FunctionExecutor,
) -> None:
    """Direct copy between arrays using Pywren for parallelism"""
    iterdata = [(source, target, key)
                for key in chunk_keys(source.shape, chunks)]

    def direct_copy(iterdata):
        source, target, key = iterdata
        target[key] = source[key]

    futures = pywren_function_executor.map(direct_copy, iterdata)
    pywren_function_executor.get_result(futures)
Пример #4
0
def local_executor(config=None,
                   storage_backend=None,
                   storage_backend_region=None,
                   rabbitmq_monitor=None,
                   log_level=None):
    """
    Localhost function executor
    """
    compute_backend = 'localhost'

    if storage_backend is None:
        storage_backend = 'localhost'

    return FunctionExecutor(config=config,
                            compute_backend=compute_backend,
                            storage_backend=storage_backend,
                            storage_backend_region=storage_backend_region,
                            rabbitmq_monitor=rabbitmq_monitor,
                            log_level=log_level)
Пример #5
0
def ibm_cf_executor(config=None,
                    runtime=None,
                    runtime_memory=None,
                    compute_backend_region=None,
                    storage_backend=None,
                    storage_backend_region=None,
                    rabbitmq_monitor=None,
                    log_level=None):
    """
    Function executor for IBM Cloud Functions
    """
    compute_backend = 'ibm_cf'
    return FunctionExecutor(config=config,
                            runtime=runtime,
                            runtime_memory=runtime_memory,
                            compute_backend=compute_backend,
                            compute_backend_region=compute_backend_region,
                            storage_backend=storage_backend,
                            storage_backend_region=storage_backend_region,
                            rabbitmq_monitor=rabbitmq_monitor,
                            log_level=log_level)
Пример #6
0
def docker_executor(config=None,
                    runtime=None,
                    workers=None,
                    storage_backend=None,
                    storage_backend_region=None,
                    rabbitmq_monitor=None,
                    log_level=None):
    """
    Localhost function executor
    """
    compute_backend = 'docker'

    if storage_backend is None:
        storage_backend = 'localhost'

    return FunctionExecutor(config=config,
                            runtime=runtime,
                            workers=workers,
                            compute_backend=compute_backend,
                            storage_backend=storage_backend,
                            storage_backend_region=storage_backend_region,
                            rabbitmq_monitor=rabbitmq_monitor,
                            log_level=log_level)