Thanks for the good info.  Let me explain why I would want to develop
my own web server... I've got a real time, asynchronous server that
uses a proprietary binary protocol to monitor remote systems using a
push model, and I'd like to expose the incoming data over HTTP using a
web app, also using a push model.  The existing server is multi-
threaded and already uses embedded python so I thought I'd look into
implementing a limited web server and run the web server in the same
process as the real-time server.  The server is a windows based server
that is built with WIN32 IO completion ports.

So I'm concerned about the multi-threading issues you've brought up
here and I'm worried that I don't fully understand all of the pitfalls
involved in integrating Django using WSGI.  If I use standard
synchronization methods such as mutexes, critical sections and
reentrant code, are there any fundamental reasons why I can't make
this work?

Also, I *am* looking at using an available web server to accomplish
this task, but I wanted to look into this first.


On Dec 13, 3:40 pm, Graham Dumpleton <graham.dumple...@gmail.com>
wrote:
> Jim wrote:
> > Hi Graham,
>
> > Thanks for your response.  I've taken a quick look over the WSGI spec
> > and it looks good.  I have a couple questions though and I apologize
> > if they've already been answered in the forum or in the Django
> > documentation ....
>
> > 1)   Based on your suggestion to use WSGI, I'm assuming Django already
> > implements WSGI, right?
>
> Yes. See documentation.
>
>  http://code.djangoproject.com/wiki/ServerArrangements
>
> There are links to various places which describe setting it up to work
> with WSGI capable hosting mechanisms.
>
> > 2)   If I implement WSGI, what is the best way to test compliancy?  Is
> > there a testing framework?  If not, do you think that using a
> > compliant framework like Django would be sufficient?
>
> For a WSGI validator, see:
>
>  http://docs.python.org/library/wsgiref.html#module-wsgiref.validate
>
> Trying it on a large framework is always a good test, but start with
> some simple hello world applications first.
>
> Also look at implementation of:
>
>  http://docs.python.org/library/wsgiref.html#module-wsgiref.simple_server
>
> There is also the Paste WSGI server and CherryPy WSGI server you can
> look at.
>
> > 3)   My web server has an asynchronous, persistent socket
> > architecture.  Do you see any problems between this architecture and
> > WSGI?
>
> Yes. WSGI and Python web applications in general are not suitable for
> use on an asynchronous web server. This is because when a request is
> being handled the server can't be doing anything else. Thus, if you
> expect concurrency within a single process, you would need to use
> threads. Other option is to run multiple processes to handle requests.
>
> Why are you developing your own web server in the first place when
> there are already so many options available?
>
> Graham
>
> > Thanks!
>
> > On Dec 12, 6:08 pm, Graham Dumpleton <graham.dumple...@gmail.com>
> > wrote:
> > > On Dec 13, 12:05 pm, Jim <jameswhetst...@comcast.net> wrote:
>
> > > > Hi,
>
> > > > I'm experimenting with building a web server with embedded python and
> > > > I'd like to setup and include Django. The server works by loading a
> > > > main python script into memory at startup and then script registers a
> > > > callback routine to handle incoming messages. The script looks
> > > > something like this:
>
> > > > import MyWebServer
>
> > > > # Initialization code
>
> > > > def my_callback(connection_name, request, size):
> > > > MyWebServer.sendReply(connection_name, 'hello world', 11)
>
> > > > MyWebServer.set_callback(my_callback)
>
> > > > First of all, does this seem like a reasonable approach? Second, what
> > > > do I need to do to setup the Django environment using this
> > > > architecture?
>
> > > Make your web server support WSGI API standard and then you can just
> > > use Django WSGI interface. The WSGI specification is documented at:
>
> > >http://www.python.org/dev/peps/pep-0333/
>
> > > Graham
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to