return functools.update_wrapper(with_datacube, f) return decorate def parse_endpoint(value): ip, port = tuple(value.split(':')) return ip, int(port) EXECUTOR_TYPES = { 'serial': lambda _: get_executor(None, None), 'multiproc': lambda workers: get_executor(None, int(workers)), 'distributed': lambda addr: get_executor(parse_endpoint(addr), True), 'celery': lambda addr: mk_celery_executor(*parse_endpoint(addr)) } EXECUTOR_TYPES['dask'] = EXECUTOR_TYPES[ 'distributed'] # Add alias "dask" for distributed def _setup_executor(ctx, param, value): try: return EXECUTOR_TYPES[value[0]](value[1]) except ValueError: ctx.fail("Failed to create '%s' executor with '%s'" % value) executor_cli_options = click.option( '--executor', # type: ignore
def mk_celery(task_desc: TaskDescription): qsize = 100 executor = mk_celery_executor(*self._opts) return (executor, qsize, noop)