Search code examples
pythonnginxmongodbmod-wsgicherrypy

Tracking system and real time stats analysis in Python


This question is related to an older question: MySQL tracking system. In short: I have to implement a tracking system that will have high loads using Python. For the database part I've settled on mongoDB (which sounds like the right tool for this job). The development language will be Python.

I was thinking of using several instances of a CherryPy application behind nginx. The reasoning behind this is that I don't want to handle all the wsgi part myself, but on the other hand I don't need a full blown web framework since the app will be simple and there's no need for ORM.

My questions are:

  • Should I use the CherryPy builtin server or should I use Apache with modwsgi (or another server altogether)?

  • Does this sound like a reasonable approach (nginx, mongoDB)? If not what would you recommend?

Thank you in advance.


Solution

  • Sounds like MongoDB will be a good fit for this - fast updates with advanced operators, and M/R for batch offline processing. I think CherryPy behind Nginx should work well too. If you go the mod_wsgi route just watch out for this issue.