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

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top