objeto no morirá (aún referencias a él que no puedo encontrar)
-
27-09-2019 - |
Pregunta
Estoy usando paralelos pitón y empezar un nuevo servidor de trabajo en una función. después de que termine funciones que todavía existe a pesar de que no regresaba a cabo de la función (utilicé weakref para probar esto). Creo que todavía hay algunas referencias a este objeto en alguna parte. Mi dos teorías: Se inicia hilos y se registra con el registro raíz
.Mis preguntas: ¿hay algún modo en el que findout espacio de nombres todavía hay una referencia a este objeto. Tengo la referencia weakref. ¿Alguien sabe cómo separar un registrador? ¿Qué otras sugerencias de depuración tiene la gente?
aquí está mi testcode:
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)
gracias de antemano Wolfgang
Solución
Se puede utilizar gc.get_referrers(obj)
para averiguar lo que se hace referencia al objeto. Porque lo más probable es obtener un montón de dicts como la respuesta, tendrá que subir un par de niveles para hacer cualquier sentido de la misma.