मैं यह पता लगाने की कोशिश कर रहा हूं कि pymongo.errors.ServerSelectionTimeoutError को कैसे संभालना है यदि डेटा डाउन है या किसी तरह स्टूडियो 3T (मोंगोगुई) से कनेक्ट होने से डेटाबेस डाउन हो जाता है। इसलिए मैं मोंगो को फिर से जोड़ना चाहता हूं।

if __name__ == '__main__':
    client = pymongo.MongoClient(host='localhost', port=27017)
    db = client.info_collect
    collection = db['info']
    if collection.count_documents({'link': url}) < 1:
        collection.insert_one(add_dict)
0
Raul Delgado de Luna 27 अक्टूबर 2020, 00:56

1 उत्तर

सबसे बढ़िया उत्तर

आपको बस अपने कोड को एक कोशिश-छोड़कर ब्लॉक के अंदर लपेटना चाहिए जहां आप फिर से जोड़ने और उसी क्वेरी को फिर से ब्लॉक के अंदर निष्पादित करने का प्रयास करके ServerSelectionTimeoutError अपवाद को संभालते हैं। कुछ इस तरह:

if __name__ == '__main__':

try:
    client = pymongo.MongoClient(host='localhost', port=27017)
    db = client.info_collect
    collection = db['info']
    if collection.count_documents({'link': url}) < 1:
        collection.insert_one(add_dict)

except pymongo.errors.ServerSelectionTimeoutError as e:

    client = pymongo.MongoClient(host='localhost', port=27017)
    db = client.info_collect
    collection = db['info']
    if collection.count_documents({'link': url}) < 1:
        collection.insert_one(add_dict)

0
ESDARII 8 नवम्बर 2020, 17:44