Domanda

sto usando in parallelo-python e iniziare un nuovo server di lavoro in una funzione. dopo le estremità funzioni ancora esiste anche se non avevano restituito dalla funzione (ho usato weakref di testare questa). Credo che ci sia ancora alcuni riferimenti a questo oggetto da qualche parte. La mia due teorie: Si parte le discussioni e registra al logger principale

.

Le mie domande: posso in qualche modo findout in cui spazio dei nomi c'è ancora un riferimento a questo oggetto. Ho il riferimento weakref. Qualcuno sa come staccare un registratore? Quali altri suggerimenti di debug le persone hanno?

ecco la mia 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)

grazie in anticipo     Wolfgang

È stato utile?

Soluzione

È possibile utilizzare gc.get_referrers(obj) per scoprire che cosa sta riferimento all'oggetto. Perché sarà più probabile ottenere un mazzo di dicts come la risposta, dovrete salire un paio di livelli per dare un senso di esso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top