gpt4 book ai didi

python - ThreadPoolExecutor 记录? (Python)

转载 作者:太空宇宙 更新时间:2023-11-04 00:53:22 25 4
gpt4 key购买 nike

我有一些代码看起来像

with futures.ThreadPoolExecutor(max_workers=2) as executor:
for function in functions:
executor.submit(function)

我如何记录执行程序当前正在处理的功能?我可能有也可能没有从函数内部记录的能力——希望执行者本身记录类似的东西

print "handling process {i}".format(i=current_process)

关于如何处理这个问题有什么想法吗?

最佳答案

我想这有点老了,但我偶然发现了这些问题,并认为我会给出答案。我只是使用了一个包装器,它可以在调用函数之前引用记录器的实例:

import logging
import os
import concurrent.futures


logging.basicConfig(filename=os.path.expanduser('~/Desktop/log.txt'), level=logging.INFO)
logger = logging.getLogger("MyLogger")


def logging_wrapper(func):
def wrapped(*args, **kwargs):
logger.info("Func name: {0}".format(func.__name__))
func(*args, **kwargs)
return wrapped


def a():
print('a ran')


def b():
print('b ran')


with concurrent.futures.ThreadPoolExecutor(max_workers=2) as executor:
for func in [a, b]:
executor.submit(logging_wrapper(func))

关于python - ThreadPoolExecutor 记录? (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36162377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com