github.com/platonnetwork/platon-go@v0.7.6/cases/common/global_var.py (about) 1 from concurrent.futures.process import ProcessPoolExecutor 2 from concurrent.futures.thread import ThreadPoolExecutor 3 4 from common.log import log 5 6 _global_dict = {} 7 8 9 def initGlobal(): 10 global _global_dict 11 _global_dict = {} 12 _global_dict["threadPoolExecutor"] = ThreadPoolExecutor(max_workers=40) 13 14 15 def set_value(name, value): 16 _global_dict[name] = value 17 18 19 def get_value(name, defValue=None): 20 try: 21 return _global_dict[name] 22 except KeyError: 23 return defValue 24 25 26 def getThreadPoolExecutor(defValue=None): 27 try: 28 return _global_dict["threadPoolExecutor"] 29 except KeyError: 30 return defValue 31 32 33 def default_thread_pool_callback(worker): 34 worker_exception = worker.exception() 35 if worker_exception: 36 log.exception("Thread return exception: {}".format(worker_exception)) 37 38 39 initGlobal()