/usr/lib/python3/dist-packages/PyTango/tango_futures.py is in python3-pytango 8.1.1-1build3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | # ------------------------------------------------------------------------------
# This file is part of PyTango (http://www.tinyurl.com/PyTango)
#
# Copyright 2006-2012 CELLS / ALBA Synchrotron, Bellaterra, Spain
# Copyright 2013-2014 European Synchrotron Radiation Facility, Grenoble, France
#
# Distributed under the terms of the GNU Lesser General Public License,
# either version 3 of the License, or (at your option) any later version.
# See LICENSE.txt for more info.
# ------------------------------------------------------------------------------
__all__ = ["uses_future", "get_global_executor", "submit", "spawn"]
__global_executor = None
MAX_WORKERS = 8
MODE = 'thread'
def __get_executor_class():
import concurrent.futures
ret = None
if MODE == 'thread':
ret = concurrent.futures.ThreadPoolExecutor
else:
ret = concurrent.futures.ProcessPoolExecutor
return ret
def get_global_executor():
global __global_executor
if __global_executor is None:
klass = __get_executor_class()
if klass is not None:
__global_executor = klass(max_workers=MAX_WORKERS)
return __global_executor
def submit(fn, *args, **kwargs):
return get_global_executor().submit(fn, *args, **kwargs)
spawn = submit
|