All: I'm looking for input / guide and design ideas. My goal is to find a reliable but reliable way to get the XML payload from the HTTP POST (no problem with this part), parse it and build a relatively lengthy process asynchronously.
The initiative process has a processor intensity and lasts about three minutes. At first, I do not expect a big load, but there is a certain possibility that I will need to scale it horizontally across the servers, as the traffic, hopefully, increases.
I really like the Celery / Django stack for this use: it is very intuitive and has a built-in infrastructure to accomplish exactly what I need. I started this way with zeal, but soon discovered that my small 512 MB RAM cloud server has only 100 MB of free memory, and I began to feel like I had a problem when I went live with all my processes with a full tilt . In addition, he received several moving parts: RabbitMQ, MySQL, cerleryd, ligthttpd and the django container.
I can completely increase the size of my server, but I hope that my costs are minimized at this early stage of this project.
As an alternative, I am considering using twisted processes to manage processes, as well as a promising broker for remote systems, if necessary. But for me, at least while the twisted one is brilliant, it seems to me that I subscribe to a lot along this path: writing protocols, callback management, tracking work states, etc. The advantages here are pretty obvious - excellent performance, much less moving parts and less memory (note: I need to check some of the memory). I am greatly distorted for Python for this - it is much nicer for me than alternatives :)
I would really appreciate any point of view on this. I'm worried about getting started on the wrong track, and reusing it later with production traffic will be painful.
Matt
python asynchronous django twisted
mcauth
source share