2017-11-02 5 views
0

업데이트 목록과 함께 bulk_write를 사용할 때 많은 pymongo.errors.ExecutionTimeout을 얻습니다. 시간 초과 기간이나 변경 방법을 찾을 수 없습니다.bulk_write 작업에 maxTimeMS를 설정하는 방법은 무엇입니까?

collection.bulk_write (operationslist는 maxTimeMS = = False를 주문 0)

어떻게 내가 그것을 설정할 수 있습니다 (예기치 않은 키워드)를 작동하지 않는 이유는 무엇입니까? 또는 콜렉션 (또는 연결) 레벨의 매개 변수로 제한 시간을 피할 수 있습니까?

답변

1

docs에서 bulkWrite는 writeConcern 속성을 통해 제한 시간을 설정합니다.

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

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

그래서 나는 pymongo 드라이버가 유사 할 것이라고 상상합니다. 나는 어쩌면 파이썬 dev에 있지만 아니에요 :

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

그래, 그 트릭은 앞서 발견, 쓰기 문제는 bulkWrite 통화에서 정의 할 수없는, 그래서는 get_collection에 전달해야했다 ... 그게 이상적이지는 않지만 ... –