sto usando:Perché PyMongo 3 fornisce ServerSelectionTimeoutError?
- Python 3.4.2
- PyMongo 3.0.2
- mongolab esecuzione mongod 2.6.9
- uWSGI 2.0.10
- CherryPy 3.7.0
- nginx 1.6.2
uWSGI start param:
--socket 127.0.0.1:8081 --daemonize --enable-threads --threads 2 --processes 2
ho installato il mio MongoClient UNA volta:
self.mongo_client = MongoClient('mongodb://user:[email protected]:port/mydb')
self.db = self.mongo_client['mydb']
ho cercare di salvare un dict JSON per MongoDB:
result = self.db.jobs.insert_one(job_dict)
Funziona tramite una prova di unità che esegue lo stesso percorso di codice a MongoDB. Tuttavia quando eseguo via CherryPy e uWSGI utilizzando un HTTP POST, ottengo questo:
pymongo.errors.ServerSelectionTimeoutError: No servers found yet
Perché vedo questo comportamento quando eseguito tramite CherryPy e uWSGI? È forse questo il nuovo modello di thread in PyMongo 3?
Aggiornamento:
Se corro senza uWSGI e nginx utilizzando i CherryPy server integrato, i insert_one()
opere.
Aggiornamento 1/25 16:53 EST:
Dopo l'aggiunta di un po 'di debug in PyMongo, sembra che topology._update_servers()
sa che il server_type = 2 per il server 'myserver-a.mongolab.com'. Tuttavia server_description.known_servers()
ha la server_type = 0 per il server 'myserver.mongolab.com'
Questo porta alla seguente stack trace:
result = self.db.jobs.insert_one(job_dict)
File "/usr/local/lib/python3.4/site-packages/pymongo/collection.py", line 466, in insert_one
with self._socket_for_writes() as sock_info:
File "/usr/local/lib/python3.4/contextlib.py", line 59, in __enter__
return next(self.gen)
File "/usr/local/lib/python3.4/site-packages/pymongo/mongo_client.py", line 663, in _get_socket
server = self._get_topology().select_server(selector)
File "/usr/local/lib/python3.4/site-packages/pymongo/topology.py", line 121, in select_server
address))
File "/usr/local/lib/python3.4/site-packages/pymongo/topology.py", line 97, in select_servers
self._error_message(selector))
pymongo.errors.ServerSelectionTimeoutError: No servers found yet
Sto colpendo anche questo su una configurazione simile. Hai mai trovato una risposta? – Greg
Ancora niente ... non sono tornati al debugging. – drfence
Vuoi che inizi una taglia? Sareste disponibili a rispondere alle domande di follow-up? Sono completamente bloccato su questo me stesso. – Greg