ComfyUI/comfy/distributed/process_pool_executor.py

19 lines
587 B
Python

import concurrent.futures
from pebble import ProcessPool
from ..component_model.executor_types import Executor
class ProcessPoolExecutor(ProcessPool, Executor):
def shutdown(self, wait=True, *, cancel_futures=False):
if cancel_futures:
raise NotImplementedError("cannot cancel futures in this implementation")
if wait:
self.close()
else:
self.stop()
return
def submit(self, fn, /, *args, **kwargs) -> concurrent.futures.Future:
return self.schedule(fn, args=list(args), kwargs=kwargs, timeout=None)