Question

J'utilise en parallèle python et lancer un nouveau serveur d'emplois dans une fonction. après les fonctions extrémités il existe encore, même si je ne revenais pas hors de la fonction (je weakref pour tester cela). Je suppose qu'il ya encore quelques références à cela quelque part l'objet. Mes deux théories: Il commence fils et il se connecte à logger root

.

Mes questions: puis-je findout en quelque sorte dans quel espace il y a encore une référence à cet objet. J'ai la référence weakref. Est-ce que quelqu'un sait comment détacher un enregistreur? Quelles autres suggestions de débogage les gens ont?

voici mon 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)

Merci d'avance     Wolfgang

Était-ce utile?

La solution

Vous pouvez utiliser gc.get_referrers(obj) pour savoir ce qui fait référence à l'objet. Parce que vous aurez fort probablement un tas de dicts que la réponse, vous devrez monter deux niveaux pour faire tout sens.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top