@@ -254,9 +254,11 @@ def __dir__(self):
254
254
return _Stub ()
255
255
256
256
257
- def _create_local_worker_pool (worker_cls : 'type[worker.Worker]' ,
258
- count : int | None , parse_argv : bool , pickle_func ,
259
- * args , ** kwargs ) -> worker .FixedWorkerPool :
257
+ # The following pair of APIs - create and close - are public without having
258
+ # a user to support out-of-repo scenarios.
259
+ def create_local_worker_pool (worker_cls : 'type[worker.Worker]' ,
260
+ count : int | None , parse_argv : bool , pickle_func ,
261
+ * args , ** kwargs ) -> worker .FixedWorkerPool :
260
262
"""Create a local worker pool for worker_cls."""
261
263
if not count :
262
264
count = _get_context ().cpu_count ()
@@ -268,7 +270,7 @@ def _create_local_worker_pool(worker_cls: 'type[worker.Worker]',
268
270
return worker .FixedWorkerPool (workers = stubs , worker_concurrency = 16 )
269
271
270
272
271
- def _close_local_worker_pool (pool : worker .FixedWorkerPool ):
273
+ def close_local_worker_pool (pool : worker .FixedWorkerPool ):
272
274
"""Close the given LocalWorkerPool."""
273
275
# first, trigger killing the worker process and exiting of the msg pump,
274
276
# which will also clear out any pending futures.
@@ -290,15 +292,15 @@ def __init__(self,
290
292
worker_args : tuple = (),
291
293
worker_kwargs : dict | None = None ):
292
294
worker_kwargs = {} if worker_kwargs is None else worker_kwargs
293
- self ._pool = _create_local_worker_pool (worker_class , count , True ,
294
- pickle_func , * worker_args ,
295
- ** worker_kwargs )
295
+ self ._pool = create_local_worker_pool (worker_class , count , True ,
296
+ pickle_func , * worker_args ,
297
+ ** worker_kwargs )
296
298
297
299
def __enter__ (self ) -> worker .FixedWorkerPool :
298
300
return self ._pool
299
301
300
302
def __exit__ (self , * args ):
301
- _close_local_worker_pool (self ._pool )
303
+ close_local_worker_pool (self ._pool )
302
304
303
305
def __del__ (self ):
304
306
self .__exit__ ()
0 commit comments