2011-06-23 5 views
1

J'utilise Celery pour télécharger des flux et redimensionner des images. Les flux et les chemins d'image sont ensuite stockés dans MongoDB en utilisant mongoengine. Lorsque je vérifie les connexions actuelles (db.serverStatus() ["connections"]) après avoir exécuté les tâches que j'ai entre 50-80 connexions "en cours", qui restent ouvertes jusqu'à ce que j'arrête celeryd. Est-ce que quelqu'un a connu ce problème et/ou savez-vous ce que je peux faire pour le résoudre?Trop de connexions mongoDB ouvertes lors de l'utilisation du céleri

Merci, Kenzic

+0

Je pense que cela ne peut pas être un problème de céleri, à la fin tout dépend du code que vous écrivez dans votre tâche. Vérifiez-le attentivement et je suis sûr que vous allez résoudre le problème. –

Répondre

3

Cela signifie simplement qu'il ya entre 50 et 80 connexions ouvertes au serveur MongoDB, et constitue pas un dysfonctionnement. PyMongo (et par conséquent MongoEngine) maintient un pool interne de connexions (c'est-à-dire, sockets) à mongod, donc même quand rien ne se passe (pas de requêtes actives, commandes, etc), les connexions restent ouvertes à la base de données pour la prochaine fois être utilisé. Par défaut, PyMongo tente de ne pas conserver plus de 10 connexions ouvertes par objet Connection.

Avez-vous des problèmes spécifiques en raison du nombre de connexions ouvertes?

+0

Je ne rencontre pas de problèmes spécifiques mais parce que je suis nouveau à PyMongo, j'étais concerné par le nombre. Merci pour la réponse, c'était utile! – Kenzic