لن يموت الكائن (لا يزال يشير إلى أنه لا يمكنني العثور عليه)

StackOverflow https://stackoverflow.com/questions/2644103

سؤال

أنا أستخدم python الموازي وبدء خادم عمل جديد في وظيفة. بعد انتهاء الوظائف ، لا تزال موجودة على الرغم من أنني لم أخرجها من الوظيفة (استخدمت PremEREF لاختبار هذا). أعتقد أنه لا يزال هناك بعض الإشارات إلى هذا الكائن في مكان ما. نظريتي: تبدأ المواضيع وتسجيلها إلى مسجل الجذر.

أسئلتي: هل يمكنني العثور على مساحة الاسم بطريقة ما لا يزال هناك إشارة إلى هذا الكائن. لدي مرجع ضعيف. هل يعرف أحد كيفية فصل المسجل؟ ما هي اقتراحات التصحيح الأخرى التي يقدمها الناس؟

ها هو رمز 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)

شكرا مقدما وولفغانغ

هل كانت مفيدة؟

المحلول

يمكنك استخدام gc.get_referrers(obj) لمعرفة ما يشير إلى الكائن. لأنك على الأرجح ستحصل على مجموعة من الديكتات كاستجابة ، عليك أن ترتفع بضع مستويين لإحساسها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top