2017-11-02 3 views
0

Ich bekomme eine Menge von pymongo.errors.ExecutionTimeout, wenn Sie bulk_write mit einer Liste von Updates verwenden. Ich kann die Timeout-Dauer weder finden noch ändern.Wie legt man den maxTimeMS für eine Bulk_write-Operation fest?

collection.bulk_write (operationslist, bestellt = False, maxTimeMS = 0) funktioniert (unerwartetes Schlüsselwort) nicht

Wie kann ich es einstellen? Oder ein Parameter auf Sammlungs- (oder Verbindungs-) Ebene, um Timeouts zu vermeiden?

Antwort

1

In den Dokumenten legt BulkWrite das Zeitlimit über die writeConcern-Eigenschaft fest, z.

db.test.bulkWrite(
     [ 
     { updateMany : 
      ... 

     }, 
     ... 
     ], 
     { writeConcern : { w : "majority", wtimeout : 100 } } 
    ); 

so stelle ich mir vor der Pymongo-Treiber wird ähnlich sein. Ich bin kein Python dev aber vielleicht:

coll = db.get_collection('test', write_concern=WriteConcern(w=3, wtimeout=1, wtimeout=1000)) 
coll.bulk_write(...) 
+0

Ja, das war der Trick, wie ich bereits gefunden, kann die Schreib Sorge nicht an dem bulkWrite Aufruf definiert werden, so sollte es in den get_collection weitergegeben werden ... das ist aber nicht wirklich ideal ... –

Verwandte Themen