मैं का उपयोग करें:Pymongo AssertionError: आईडी से मेल नहीं खाते
- MongoDB 1.6.5
- Pymongo 1.9
- अजगर 2.6.6
मैं डेमॉन के 3 प्रकार हैं। वेब से पहला लोड डेटा, दूसरा इसका विश्लेषण करता है और परिणाम बचाता है, और तीसरा समूह परिणाम। वे सभी Mongodb के साथ काम कर रहे हैं। कुछ समय 3 डेमॉन पर इस तरह कई अपवाद फेंकता है (ज्यादातर जब वहाँ डीबी में डेटा की बड़ी मात्रा में कर रहे हैं):
Traceback (most recent call last):
File "/usr/local/lib/python2.6/dist-packages/gevent-0.13.1-py2.6-linux-x86_64.egg/gevent/greenlet.py", line 405, in run
result = self._run(*self.args, **self.kwargs)
File "/data/www/spider/daemon/scripts/mainconverter.py", line 72, in work
for item in res:
File "/usr/local/lib/python2.6/dist-packages/pymongo-1.9_-py2.6-linux-x86_64.egg/pymongo/cursor.py", line 601, in next
if len(self.__data) or self._refresh():
File "/usr/local/lib/python2.6/dist-packages/pymongo-1.9_-py2.6-linux-x86_64.egg/pymongo/cursor.py", line 564, in _refresh
self.__query_spec(), self.__fields))
File "/usr/local/lib/python2.6/dist-packages/pymongo-1.9_-py2.6-linux-x86_64.egg/pymongo/cursor.py", line 521, in __send_message
**kwargs)
File "/usr/local/lib/python2.6/dist-packages/pymongo-1.9_-py2.6-linux-x86_64.egg/pymongo/connection.py", line 743, in _send_message_with_response
return self.__send_and_receive(message, sock)
File "/usr/local/lib/python2.6/dist-packages/pymongo-1.9_-py2.6-linux-x86_64.egg/pymongo/connection.py", line 724, in __send_and_receive
return self.__receive_message_on_socket(1, request_id, sock)
File "/usr/local/lib/python2.6/dist-packages/pymongo-1.9_-py2.6-linux-x86_64.egg/pymongo/connection.py", line 714, in __receive_message_on_socket
struct.unpack("<i", header[8:12])[0])
AssertionError: ids don't match -561338340 0
<Greenlet at 0x2baa628: <bound method Worker.work of <scripts.mainconverter.Worker object at 0x2ba8450>>> failed with AssertionError
किसी को क्या इस अपवाद कारण और कैसे इसे ठीक करने के बता सकते हैं।
धन्यवाद।
[email protected] ने कहा कि इससे मदद मिल सकती है: http://jira.mongodb.org/browse/PYTHON-166 –