我正在使用 parallel-python 并在函数中启动一个新的作业服务器。在函数结束后它仍然存在,即使我没有将它从函数中返回(我使用了weakref 来测试它)。我猜在某个地方仍然有一些对这个对象的引用。我的两个理论:它启动线程并记录到根记录器。
我的问题:我能否以某种方式找出在哪个命名空间中仍然有对该对象的引用。我有弱参考参考。有谁知道如何分离记录器?人们还有哪些其他调试建议?
这是我的测试代码:
def pptester():
js=pp.Server(ppservers=nodes)
js.set_ncpus(0)
fh=file('tmp.tmp.tmp','w')
tmp=[]
for i in range(200):
tmp.append(js.submit(ppworktest,(),(),('os','subprocess')))
js.print_stats()
return weakref.ref(js)
在此先感谢沃尔夫冈